dsg435665475 2016-04-20 09:37
浏览 53
已采纳

如果列不存在,请加入两个表并在列中显示null

I have two tables as follows.

stages:

stageid     stagename     is_corrected
   1           abc              1
   2           xyz              1
   3           aaa              0
   4           bbb              1

responses:

stageid     teamid      diffscore      
   1           1            10
   1           2            12
   1           3            15
   2           1            12
   2           2            13
   2           3            16
   2           4            14

I am trying to join them and show a joined table where is_corrected = 1. Here is the query I tried:

Query:

SELECT 
    t1.stagename, 
    t2.diffscore 
FROM 
    stages t1 
    LEFT OUTER JOIN (
        SELECT 
            diffscore, 
            teamid, 
            stageid 
        FROM 
            responses as t2
    ) as t2 ON t2.stageid = t1.stageid 
    OR t1.stageid = NULL 
WHERE 
    t1.is_corrected = 1 
    AND (
        t2.teamid = 4 
        OR t2.teamid = NULL
    )

Expected Result:

stagename      diffscore
   abc            NULL
   xyz            14
   bbb            NULL

Output:

stagename      diffscore
   xyz            14
  • 写回答

2条回答 默认 最新

  • douji6667 2016-04-20 10:17
    关注

    Try this:

    SELECT 
        s.stageid, 
        s.stagename, 
        IFNULL(
            (
                SELECT 
                    diffscore 
                FROM 
                    responses 
                WHERE 
                    s.stageid = stageid 
                    AND (
                        teamid = 1
                        OR teamid IS NULL
                    )
                LIMIT 1
            ), 
            0
        ) AS diffscore 
    FROM 
        stages s 
    WHERE 
        is_corrected = 1
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了
  • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
  • ¥188 需要修改一个工具,懂得汇编的人来。
  • ¥15 livecharts wpf piechart 属性
  • ¥20 数学建模,尽量用matlab回答,论文格式
  • ¥15 昨天挂载了一下u盘,然后拔了
  • ¥30 win from 窗口最大最小化,控件放大缩小,闪烁问题