我对MYSQL查询有一点点问题
所以我有一个名为“Diagnose”和“Diagnose Master”的表 在“诊断”中有一个相关的领域&记录
idd | idmed | idf1 | idf2 | idf3
1 | 20 | 5 | 8 | 9
2 | 21 | 3 | - | 11
3 | 22 | 7 | 1 | -
4 | 23 | 1 | - | -
5 | 24 | 6 | 2 | 8
...
“诊断大师”中的
IDDM |代码|名称
1 | A.1 | ABC
2 | A.2 | ABCD
3 | B.3 | ABCDE
4 | B.4 | ABCDEF
5 | C.5 | ABCDEFG
...
我需要选择诊断表,其中idf1,idf2,idf3字段替换为来自诊断主机的字段名称,因此输出将为
IDD | idmed | IDF1 | IDF2 | idf3
1 | 20 | ABCDEFG | ABCDEFGH | ABCDEFGHIJ
2 | 21 | ABCDE | - | ABC
...
如何查询?
谢谢
答案 0 :(得分:0)
您需要使用三个不同的别名将DiagnoseMaster三次加入三个不同列的同一个表。尝试这样的事情:
SELECT d.idd, d.idmed, dm1.name idf1, dm2.name idf2, dm3.name idf3
FROM Diagnose d
JOIN DiagnoseMaster dm1 on dm1.idd = d.idf1
JOIN DiagnoseMaster dm2 on dm2.idd = d.idf2
JOIN DiagnoseMaster dm3 on dm3.idd = d.idf3