0

我有两个关系表,core并且domains. 它们都由 和 相关core.iddomains.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

现在这工作正常,除了它返回多行都带有冗余数据。例如,如果 in 中的一行core有 5 个相关行domains,则返回 5 行,并且b.*每个结果中显然是相同的。有没有办法返回一行,全部a.domain返回单行?

4

1 回答 1

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
于 2012-08-04T16:53:09.420 回答