我想将两个表合并为一个。 第一个是:
ID code_1 code_2
==============================
1 XXX YYY
2 ZZZ YYY
3 YYY ZZZ
第二个是:
CODE Name
==============
XXX Name_1
YYY Name_2
ZZZ Name_3
有一个FK code_1 = CODE和code_2 = CODE 我想创建一个只有Name_1和Name_2的表(通过code_1或code_2) 但不只是一个smiple查询,而不是名称是XXX或YYY,而是名称来自FK。像这样:
ID code_1 code_2
=======================
1 Name_1 Name_2
3 Name_2 Name_1
我试过了,但我不知道如何用Name_1替换XXX:
SELECT Table1.ID, Table1.code_1, Table1.code2 FROM MyDB.Table1
WHERE (code_1=XXX and code_2 =YYY) or (code_2=XXX and code_1 =YYY)
非常感谢!
答案 0 :(得分:0)
要获得包含两个表的结果,您可以使用:
SELECT id FROM table1
INNER JOIN table2 ON CODE = code_1
UNION ALL
SELECT table2.name Name1
FROM table2
INNER JOIN table1 ON CODE = code_1
UNION ALL
SELECT table2.name Name2
FROM table2
INNER JOIN table1 ON CODE = code_2;
以上未经过测试。如果有帮助,请告诉我。
有关MySQL的更多信息,您可以查看:https://www.w3schools.com/sql/
<强>已更新强>