我有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也无济于事。谢谢
3条答案
按热度按时间aamkag611#
更改您的join key it should id=product\u id,但您正在尝试使用name&product\u id
roqulrg32#
看起来是你的第二个
join
应该打开id
--还有你的join
反正情况看起来不太好。gojuced73#
您可以使用sql关键字
DISTINCT
选择不重复的行。例子:
工作sql fiddle
更多关于distincthere的信息。