数据库
首页 > 数据库> > MYSQL查询左联接从一个表显示所有数据

MYSQL查询左联接从一个表显示所有数据

作者:互联网

SELECT 
A.CODE,
B.NOTE,
C.NUMBER

FROM (A
LEFT JOIN B
ON A.CODE = B.CODE
LEFT JOIN C
ON A.CODE = C.NUMBER
)

WHERE C.ID = B.ID 

需要显示来自3个表的一些结果,但是如果表C中的数据不是真实的,我的结果也显示表B中的所有数据.

Table A.code
1
2
3

Table B.code
1
2
3

Table B.note
pippo 
paperino
pluto

Table C.number
1

理想情况下,应该有一个结果显示

1  1    pippo

但结果显示:

1  1    pippo
1  1    paperino
1  1    pluto

如何获得真实数据?

解决方法:

SELECT 
A.CODE,
B.NOTE,
C.NUMBER

FROM A
INNER JOIN B ON A.CODE = B.CODE
INNER JOIN C ON A.CODE = C.NUMBER

不需要在哪里

标签:multiple-tables,left-join,mysql
来源: https://codeday.me/bug/20191030/1969346.html