2012-02-11 17 views
-1

私は現在MySQLを学習しており、簡単な辞書アプリケーションを作成したいと考えています。 現在、私は3つのテーブルを持っています: 言語1: ID | WordMySQL:3つのテーブルのJOINクエリ

言語2: ID | Word

Dict: ID_Lang1 | ID_Lang2

私は単語の両方の言語の表を見て、dictテーブルを介して他の言語の対応する単語を検索するクエリを作成するのに苦労しています。 Language1、Language2からlang1.ID、lang2.IDを選択 WHERE lang1.word OR lang2.word =「ランダム」 とDictのテーブルで何とか一緒にこのに参加することではなく、可能性:

私がしようとしていた何がようでしたそれを働かせないでください。 誰かが私を教えてくれることを願っています!

答えて

0

多分このような何か?

SELECT * 
FROM `dict` d 
    LEFT JOIN `language1` l1 ON d.`id_lang1` = l1.`id` 
    LEFT JOIN `language2` l2 ON d.`id_lang2` = l2.`id` 
WHERE 
    l1.`word` LIKE 'random' 
    OR l2.`word` LIKE 'random' 
+0

こんにちは!うまく動作しますが、私の場合はあまりにも多くの変数を照会します。とにかくありがとう!とても有難い! – user1204121

0

クエリのパフォーマンス辞書ですが大きくなるが、これはそれを行うためのひとつの方法であるとして、打撃を受けるだろう:

SELECT L1.ID, L2.ID 
FROM Language1 AS L1 
    INNER JOIN Dict AS D ON D.ID_Lang1 = L1.ID 
    INNER JOIN Language2 AS L2 ON D.ID_Lang2 = L2.ID 
WHERE L1.Word = 'Random' 
     OR L2.Word = 'Random' 
+0

こんにちはL1.IDとL2.IDをL1.wordとL2.wordに変更することで、完璧に動作します!どうもありがとう! – user1204121

+0

それはうまくいってうれしいです。 –

関連する問題