首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合并两个sql查询

合并两个sql查询
EN

Stack Overflow用户
提问于 2013-11-11 01:17:44
回答 1查看 52关注 0票数 0

谁能帮我把这两个sql查询组合起来,把第一个查询的结果放到第二个查询的列中,谢谢

代码语言:javascript
复制
SELECT
    `c`.`backoffice_users_id`,
    sum(c.nbr_sous_risques) AS `nbr_sous_risques`
FROM `conseillers_sous_risques` AS `c`
WHERE
    (c.date_du_jour='2013-11-10')
    AND (c.idsous_risques BETWEEN 1 AND 12)
GROUP BY `c`.`backoffice_users_id`


SELECT
    `c`.`backoffice_users_id`,
    `c`.`idsous_risques`,
    `c`.`nbr_sous_risques`,
    `backoffice_users`.`lastname`
FROM `conseillers_sous_risques` AS `c`
INNER JOIN `backoffice_users` ON c.backoffice_users_id=backoffice_users.id
WHERE (c.date_du_jour='2013-11-10')
ORDER BY
    `c`.`backoffice_users_id` ASC,
    `c`.`idsous_risques` ASC
EN

回答 1

Stack Overflow用户

发布于 2013-11-11 01:26:51

将第一个查询包装在子查询中,并使用LEFT JOIN连接它,以便仍然显示任何不匹配的记录,但在nbr_sous_risques中值为0

代码语言:javascript
复制
SELECT  c.backoffice_users_id, 
        c.idsous_risques, 
        c.nbr_sous_risques, 
        backoffice_users.lastname,
        COALESCE(d.nbr_sous_risques, 0) nbr_sous_risques
FROM    conseillers_sous_risques AS c
        INNER JOIN backoffice_users 
            ON c.backoffice_users_id = backoffice_users.id 
        LEFT JOIN
        (
            SELECT  c.backoffice_users_id, 
                    SUM(c.nbr_sous_risques) AS nbr_sous_risques 
            FROM    conseillers_sous_risques AS c 
            WHERE   c.date_du_jour='2013-11-10' AND 
                    c.idsous_risques BETWEEN 1 AND 12
            GROUP   BY c.backoffice_users_id
        ) d ON  c.backoffice_users_id = d.backoffice_users_id
WHERE   c.date_du_jour='2013-11-10'
ORDER   BY c.backoffice_users_id ASC, c.idsous_risques ASC
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19892599

复制
相关文章

相似问题

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