我注意到当我使用左连接到另一个表时,我的数据会复制自己,并且我没有比创建组更多的选项,以便我可以拥有正确的行。
SELECT * from tbla a left join tblb b on a.id=b.id_a
group by a.id
有没有办法让左连接返回没有重复的正确行?
答案 0 :(得分:0)
取决于您的数据,您可能在tablea上有重复的ID,因此您正在创建重复项。
在不知道您的数据的情况下,您有两个选择
SELECT *
FROM
(
SELECT DISTINCT <tablA_fields>
from tbla a
) as A
left join (
SELECT DISTINCT <tablB_fields>
from tblb b
) as B
tblb b on A.id = B.id_a
第二个选项使用group by
代替每个子选择。