我有三个表:
Table1: COL1 COL2
Table2: COL2 COL3 COL5
Table3: COL3 COL4
我想从表1中选择COL1,从表2中选择COL5,从表3中选择COL4
它喜欢两个联接表,但是当我使用以下查询时,它不起作用,COL5为空。
SELECT Table1.COL1, Table2.COL5, Table3.COL4
FROM table3
INNER JOIN table2 ON table3.col3 = table2.col3
INNER JOIN table1 ON table1.col2 = table2.col2
请帮忙。
PS我复制了以前的类似示例,但输出不同。
最佳答案
表3和表2之间似乎没有关系数据
SELECT Table1.COL1, Table2.COL5, Table3.COL4
table3.col3, table2.col3 --if this comes up as null then Table2.COL5 would be null
table1.col2, table2.col2 --if this comes up as null then Table2.COL5 would also be null
FROM table3
LEFT OUTER JOIN table2 ON table3.col3 = table2.col3
LEFT OUTER JOIN table1 ON table1.col2 = table2.col2
使用INNER JOIN时,所有连接条件都必须为真才能返回结果。
考虑更改您的INNER JOIN顺序或使用LEFT OUTER JOIN。
关于mysql - 将具有两个不同公共(public)列的三个表联接起来,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54759933/