【发布时间】:2019-02-01 23:31:55
【问题描述】:
我有 3 个表将加入 1 个表。
表1
id|prdct_name|qty
001 A 5
002 B 5
003 C 5
表2
id|prdct_id|price
1 001 100
2 001 200
3 002 150
4 002 250
表3
id|prdct_id|stock_in|stock_out
1 001 5 0
2 001 10 0
3 002 15 0
4 002 25 0
我试过这个sql(由于错字而更新)
select a.prdct_name as Name, a.qty as QTY,b.price as PRICE, c.stock_in as SIN,c.stock_out as SOUT
from table1 a
left join table2 b on a.id=b.prdct_id
left join table3 c on a.id=c.prdct_id
where 1=1 group by b.id,c.id
但结果返回与此表相同的重复项
NAME|QTY|PRICE|SIN|SOUT
A 5 100 5 0
A 5 100 10 0
A 5 200 5 0
A 5 200 10 0
B 5 150 15 0
B 5 150 25 0
B 5 250 15 0
B 5 250 25 0
结果应该是
NAME|QTY|PRICE|SIN|SOUT
A 5 100 5 0
A 5 200 10 0
B 5 150 15 0
B 5 250 25 0
有没有办法消除重复的问题?尝试与 distinct 也无济于事。 谢谢
【问题讨论】:
-
。 .您正在加入名称到 id。第二个和第三个表中的结果不应匹配。
-
嗨@GordonLinoff 对不起,这是错字,当我尝试使用 id 代替名称时,结果仍然重复
-
我已回滚您的编辑。此处不适合将 SOLVED 添加到您的问题标题或将解决方案编辑到问题中。您已通过接受问题的答案表示已解决,每个人都可以看到。如果您想添加该答案中未包含的解决方案的详细信息,请编写另一个答案并使用答案部分下方的空白处发布该解决方案。请参阅Can I answer my own question here? 了解更多信息。
标签: mysql sql group-by duplicates left-join