我有以下三个表格。
表1:mymaster
id name age
--------------------
123 fiesta 0
124 figo 0
125 classic 0
表2:mychild1
id mymaster_id item itemvalue date_time
----------------------------------------------
1 123 classic 800000 null
2 125 classic 800000 null
5 123 fiesta 1100000 null
表3:mychild2
id mymaster_id item itemvalue date_time
-------------------------------------------
1 123 dzire 800000 null
2 124 sx4 100000 null
3 123 dzire 500000 null
mymaster_id
是mychild1
和mychild2
表的外键,它是mymaster
表的主键。这是我想要的输出表。
mymaster_id id item itemvalue date_time id item itemvalue date_time
--------------------------------------------------------------------------------
123 1 classic 800000 null 1 dzire 800000 null
123 5 fiesta 110000 null 3 dxire 500000 null
124 null null null null 2 sx4 100000 null
125 2 classic 800000 null null null null null
我尝试使用一些查询(如下所示),但它没有提供我需要的输出表。
select mm.id,mm.name,mc1.item,mc1.itemvalue,mc2.item,mc2.itemvalue
from mymaster mm
left join mychild1 mc1 on mc1.mymaster_id=mm.id
left join mychild2 mc2 on mc2.mymaster_id=mm.id;
答案 0 :(得分:0)
尝试在GROUP BY
查询
SELECT
GROUP BY mm.mymaster_id
您的查询将类似于
select mm.id,mm.name,mc1.item,mc1.itemvalue,mc2.item,mc2.itemvalue
FROM mymaster mm
LEFT JOIN mychild1 mc1 ON mc1.mymaster_id=mm.id
LEFT JOIN mychild2 mc2 on mc2.mymaster_id=mm.id
GROUP BY mm.mymaster_id;
答案 1 :(得分:0)
或只是:
SELECT mm.id,mm.name,mc1.item,mc1.itemvalue,mc2.item,mc2.itemvalue
FROM mymaster mm
WHERE mc1.mymaster_id=mm.id AND mc2.mymaster_id=mm.id