首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL联接多个表& Get AVG

SQL联接多个表& Get AVG
EN

Stack Overflow用户
提问于 2012-09-15 09:17:43
回答 1查看 4.9K关注 0票数 2

我正尝试在我的sql查询中执行几个连接,但遇到了问题。我需要做的是从poker_sites表中选择所有字段,然后从networks中获取2个相对字段,如果可用,则从editor_content获取平均评级

我遇到的问题是,查询只返回一行,而实际上应该至少有三行。

任何帮助都将不胜感激。

下面是我的SQL

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-15 09:21:47

如果您想通过一个聚合函数(在本例中为AVG)获得多个结果,则需要GROUP BY。

代码语言:javascript
复制
    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=1
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12433749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档