2012-02-11 46 views
-1

目前我正在學習MySQL和想寫一個簡單的字典應用程序連接查詢。 目前,我有3個表: LANGUAGE1: ID |字MySQL的:對3桌

LANGUAGE2: ID |字

快譯通: ID_Lang1 | ID_Lang2

現在我努力使一個查詢,看起來對這個詞既語言表,並通過字典表,發現在其他語言中的對應詞。

我試圖像: 從LANGUAGE1,LANGUAGE2選擇lang1.ID,lang2.ID WHERE lang1.word OR lang2.word =「隨機」 並與字典表莫名其妙一起加入這一點,但可能沒有使它工作。 希望有人會賜教!

回答

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 2012-02-11 19:11:38

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

Hi通過將L1.ID和L2.ID更改爲L1.word和L2.word,它對我來說非常合適!非常感謝! – user1204121 2012-02-11 19:10:24

+0

很高興解決。 – 2012-02-11 20:24:13