我有一个名为 medOrder 的表。在这张表中我有订单。一份订单有很多愿望。我尝试编写一个查询来显示一条记录和所有愿望的名称,但我认为该查询没有达到应有的效果。
SELECT m.ordcode as koden, w.wish, r.meaName as rnamn, r.meaImg as bild,
r.meaPrice as pris, k.catName as cname from cats k, meals r, wishes w,
meaOrder m
join orders c on c.ordNR='7265'
WHERE m.ordNR=c.ordNR AND m.meaID=r.meaID AND m.wishesID=w.id
AND r.catID=k.catID
ORDER BY m.ordcode DESC;
最佳答案
尝试这个查询:
SELECT koden, GROUP_CONCAT(wish) wish, rnamn, bild, pris, cname
FROM
(
SELECT m.ordcode as koden, w.wish, r.meaName as rnamn, r.meaImg as bild,
r.meaPrice as pris, k.catName as cname from cats k, meals r, wishes w,
meaOrder m
join orders c on c.ordNR='7265'
WHERE m.ordNR=c.ordNR AND m.meaID=r.meaID AND m.wishesID=w.id
AND r.catID=k.catID
) T
GROUP BY koden, rnamn, bild, pris, cname
ORDER BY koden DESC
此查询对所有重复列执行GROUP BY
,但连接wish
的非重复列的值。
关于mysql - MYSQL 多数据到一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13078714/