好吧,我刚刚完成了一张桌子的规范化。当我这样做时,我没有真正考虑的是我现在有一对多的关系......因为我的sql知识非常非常有限,我不确定如何处理这个问题。
我尝试通过外键进行分组,但它只返回最后一个匹配的结果,我想返回它们以及只有一个fk的任何结果。
期望的输出:
Site Found On Score
example.com sourece1, source2 400
example.net sourece1 23
example.org sourece2 23
其中: siteScoring.url =找到 siteScoring.votes =得分 media.file_url = site
答案 0 :(得分:1)
Psuedo SQL直到细节到达:
SELECT t.file_url,
CONCAT_WS(',', ss.url) 'Found On',
SUM(ss.votes)
FROM MEDIA t
JOIN SITESCORING ss ON ss. = m. --just missing JOIN criteria
GROUP BY t.file_url
答案 1 :(得分:1)
如果您使用的是MySQL 5+,则可以使用GROUP_CONCAT(source)
(在select子句中)在当前Found On
查询中创建GROUP BY
列
编辑:我的错误是MySQL 4.1+:group_concat