我目前正在学习MySQL,并希望编写一个简单的字典应用程序。 目前我有3个表: LANGUAGE1: ID |字
LANGUAGE2: ID |字
字典: ID_Lang1 | ID_Lang2
现在我正在努力创建一个查询,在两个语言表中查找单词,并通过dict表找到另一种语言中的相应单词。
我的尝试是: 选择语言1中的lang1.ID,lang2.ID,语言2 WHERE lang1.word或lang2.word ='Random' 并以某种方式与Dict表一起加入,但无法使其工作。 希望有人能开导我!
答案 0 :(得分: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'
答案 1 :(得分:0)
当Dict变大时,查询的性能会受到影响,但这只是一种方法:
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'