Mysql 选择其他表

Mysql 选择其他表,mysql,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

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

我需要从diagnose master中选择diagnose table with idf1、idf2、idf3 field replace by field name,以便将输出

idd | idmed | idf1 | idf2 | idf3

1 | 20 | ABCDEFG | ABCDEFGH | ABCDEFGHIJ

2 | 21 | ABCDE |-| ABC

如何质疑这一点


谢谢

您需要使用三个不同的别名将Diagnostics Master三次加入到三个不同列上的同一个表中。试着这样做:

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

您应该真正展示您的SQL的一些努力,然后征求您需要查看的任何建议加入感谢您的帮助。根据您的查询,空数据将不会显示,我需要所有记录,包括空或签名-使用左连接而不是连接然后。