0

辞書のようなデータベースがあります。基本的に、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句はどのように見えるべきですか?

4

1 に答える 1