辞書のようなデータベースがあります。基本的に、6 つのテーブルがあります。
words_a (id_a, word_a) には言語 A のすべての単語が含まれます
words_b (id_b, word_b) には言語 B のすべての単語が含まれます
words (id, id_a, id_b) は、言語 A の単語とそれに対応する翻訳を言語 B に結び付けます。
category (id, cat_id ) は、 words -tableからすべての worda-wordb-relationship にカテゴリを割り当てます
今、私がやりたいことは、特定のカテゴリのすべての翻訳を取得することです。
カテゴリ ID (cat_id) を選択し、そのカテゴリ内の単語と単語の関係 (id) をすべて取得します。次に、それらの関係に対応する 2 つの単語 ID (id_a と id_b) を取得します。
SELECT id_a, id_b
FROM words, (
SELECT *
FROM `categories`
WHERE cat_id =6
) AS temp
WHERE words.id = temp.id
これにより、言語 A のすべての単語の ID と、対応するカテゴリ 6 の言語 B への翻訳の ID を含むテーブルが得られます。次に、ID に対する実際の単語が必要です。
SELECT word_a, word_b FROM words_a,words_b, (
SELECT id_a,id_b
FROM words, (
SELECT *
FROM categories
WHERE cat_id=6 ) AS t
WHERE words.id = t.id ) AS temp
WHERE ??? )
where句はどのように見えるべきですか?