Join 返回一列中的所有结果,但使用where语句筛选另一列

Join 返回一列中的所有结果,但使用where语句筛选另一列,join,sqlite,union,Join,Sqlite,Union,使用SQlite 3,并有一个如下所示的表 PKEY|TS | A |B |C 1 |00:05:00|200|200|200 2 |00:10:00|100|100|100 3 |00:15:00| |25 | 4 |00:20:00| | | 目前我正在使用 select ts, (a+b+c) from tablename WHERE a !='null' AND b !='null' and c !='null';" 返回 TS |

使用SQlite 3,并有一个如下所示的表

PKEY|TS      | A |B  |C
 1  |00:05:00|200|200|200
 2  |00:10:00|100|100|100
 3  |00:15:00|   |25 |
 4  |00:20:00|   |   |
目前我正在使用

select ts, (a+b+c) from tablename WHERE a !='null' AND b !='null' and c !='null';"
返回

TS      | (a+b+c)
00:05:00|600
00:10:00|300
我希望我的结果如下所示:

TS      | total
00:05:00|600
00:10:00|300
00:15:00|
00:20:00|
换句话说,我总是想返回TS列中的所有内容,但我不想返回总数,除非A、B和C有值


我想我可能需要一个并集或联接,但我似乎找不到一个总是返回单个列的结果的示例

测试
a!='空“
将永远不会为真。您需要使用
a is not null

但是,要在任何数字为空时返回空总数,只需执行以下操作:

select ts, a+b+c
from tablename;

为什么这样做有效?因为在SQL中,如果表达式的任何部分为null,则整个表达式为null。当你认为NULL意味着“未知”时,这是有意义的。从逻辑上讲,如果计算的一部分未知,则结果未知。

感谢您的帮助和解释,我非常感谢。看起来我需要阅读更多关于SQL中null用法的内容。