我有两个关系表,core
和domains
。它们都与core.id
和domains.cid
相关联。我想形成一个查询,该查询可以返回core
表中的一行,以及domains
表中的所有相关行。目前,我运行了两个查询;一个从core
表中获取所需的单行,另一个从domains
表中获取所有相关行,但我正在尝试优化我的查询。
我尝试过类似的事情:
SELECT a.domain,b.* FROM domains a WHERE a.cid=1 INNER JOIN core b ON a.cid=b.id
现在这个工作正常,除了它返回所有冗余数据的多行。例如,如果core
中的一行在domains
中有5个相关行,则返回5行,b.*
在每个结果中显然相同。有没有办法返回一行,单行返回所有a.domain
?
答案 0 :(得分:2)
SELECT
GROUP_CONCAT(d.domain) AS domains,
c.*
FROM core c
JOIN domains d
ON d.cid = c.id
WHERE c.id = 1
GROUP BY c.id