繁体   English   中英

SQLite NOT NULL

[英]SQLite NOT NULL

如果(stage1_choice,stage2_choice或stage3_choice)value = null中的任何一个,如何排除该行?

在此输入图像描述

我试过了:

SELECT  r.breakout_id ,
        r.case_id ,
        r.stage_id ,
        r.chart_id ,
        s.stage1_choice ,
        s.stage2_choice ,
        s.stage3_choice
FROM    Results AS r ,
        Submissions AS s
WHERE   r.breakout_id = '1'
        AND s.breakout_id = '1'
        AND r.case_id = s.case_id
        AND stage_id < 4
        AND s.stage1_choice NOT NULL
        AND s.stage2_choice NOT NULL
        AND s.stage3_choice NOT NULL    

但它仍返回其中一列中包含null的行。

not null的正确语法是不同的,它是IS NOT NULL

AND s.stage1_choice IS NOT NULL 
AND s.stage2_choice IS NOT NULL 
AND s.stage3_choice IS NOT NULL

从文档

  • 要测试NULL,请使用IS NULL和IS NOT NULL运算符

在这里了解更多

尝试

SELECT r.breakout_id, r.case_id, r.stage_id, r.chart_id, s.stage1_choice, s.stage2_choice, s.stage3_choice
FROM Results as r, Submissions as s 
WHERE r.breakout_id = '1' AND s.breakout_id = '1' AND r.case_id = s.case_id AND stage_id < 4 AND s.stage1_choice NOT NULL AND s.stage2_choice IS NOT NULL AND s.stage3_choice IS NOT NULL

要么

SELECT r.breakout_id, r.case_id, r.stage_id, r.chart_id, s.stage1_choice,   s.stage2_choice, s.stage3_choice
FROM Results as r, Submissions as s 
WHERE r.breakout_id = '1' AND s.breakout_id = '1' AND r.case_id = s.case_id AND stage_id < 4 AND s.stage1_choice != '' AND s.stage2_choice != '' AND s.stage3_choice != ''

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM