选择其他表

时间:2017-09-11 10:08:47

标签: mysql

我对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

...

如何查询?

谢谢

1 个答案:

答案 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