我正尝试在我的sql查询中执行几个连接,但遇到了问题。我需要做的是从poker_sites表中选择所有字段,然后从networks中获取2个相对字段,如果可用,则从editor_content获取平均评级
我遇到的问题是,查询只返回一行,而实际上应该至少有三行。
任何帮助都将不胜感激。
下面是我的SQL
SELECT AVG(editor_content.rating) AS rating, poker_sites.*,
networks.network_name, networks.network_icon FROM poker_sites
LEFT JOIN networks
ON (poker_sites.network_id=networks.network_id)
LEFT JOIN editor_content
ON (poker_sites.site_id=editor_content.assign_id)
WHERE poker_sites.published=1发布于 2012-09-15 09:21:47
如果您想通过一个聚合函数(在本例中为AVG)获得多个结果,则需要GROUP BY。
SELECT x.avgRating AS rating, poker_sites.*,
networks.network_name, networks.network_icon
FROM poker_sites
LEFT JOIN networks
ON (poker_sites.network_id=networks.network_id)
LEFT JOIN
(
SELECT AVG(editor_content.rating) as avgRating, editor_content.assign_id
FROM editor_content
GROUP BY editor_content.assign_id
) x
ON (poker_sites.site_id = x.assign_id)
WHERE poker_sites.published=1https://stackoverflow.com/questions/12433749
复制相似问题