[英]MYSQL QUERY LEFT JOIN SHOW ALL DATA FROM ONE TABLE
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
Need to show some results combined from 3 tables, but my results show all data from table B reported also if the data isn't real from table C. 需要显示来自3个表的一些结果,但我的结果显示表B中的所有数据也报告了表C中的数据是否真实。
Table A.code
1
2
3
Table B.code
1
2
3
Table B.note
pippo
paperino
pluto
Table C.number
1
Ideally there should be one result showing 理想情况下应该有一个结果显示
1 1 pippo
but in results it is shown: 但结果显示:
1 1 pippo
1 1 paperino
1 1 pluto
How can I get the real data? 我如何获得真实数据?
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
no need for WHERE cluse 不需要WHERE cluse
You need INNER JOIN 你需要INNER JOIN
SELECT
A.CODE,
B.NOTE,
C.NUMBER
FROM C
INNER JOIN B on C.Number=B.Code
INNER JOIN A on B.Code=A.Code
LEFT JOIN will take all results from the table mentioned on the left side. LEFT JOIN将从左侧提到的表中获取所有结果。 Try JOIN instead which is an INNER JOIN afaik
尝试JOIN而不是INNER JOIN afaik
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.