使用products
表作为主表,我想列出所有产品。如果产品在表prod_desc
中有描述,我想将其拉入。另外,如果产品有制造商描述,我想将其拉入。我希望产品行显示一次,是否有产品说明,制造商描述,一个,两个或两个。
左连接适用于一个外部查找,但第二个连接会混淆它。
SELECT * FROM t1
LEFT JOIN t3 ON t1.a=t3.a
LEFT JOIN t2 ON t1.b=t2.b
答案 0 :(得分:1)
如果同一产品有多个产品说明或同一产品有多个制造商说明,则需要“汇总”说明。
Select P.Id, P...
, Group_Concat( PD.desc ) As DescriptionList
, Group_Concat( PMD.desc ) As MfrDescriptionList
From products As P
Left Join prod_desc As PD
On PD.product_id = P.id
Left Join prod_mfr_desc As PMD
On PMD.product_id = P.id
Group By P.id
答案 1 :(得分:0)
我认为您的“select *
”可能就是问题所在。但是我无法确定你的意思是“弄乱它”。尝试只选择你想要的东西,看看是否能解决它。
例如,
SELECT a, b, c, d, e
FROM t1
LEFT JOIN t3
ON t1.a = t3.a
LEFT JOIN t2
ON t1.b = t2.b