【发布时间】:2020-04-30 11:01:36
【问题描述】:
能够验证所有选定记录的查询如何不为空?
例如,使用以下查询,
验证所有带有字段is_field_null 的行不是来自返回的level1 的NULL?
SELECT * FROM (
SELECT tb_a.A, tb_b.is_field_null FROM tb_a, tb_b, tb_c
WHERE tb_a.a = "some" AND tb_a.b = "thing" AND tb_c.c = "else"
AND tb_a.b = tb_b.a
AND tb_c.b = tb_b.c
) AS level1
假设level1 中有一些带有is_field_null 的行确实是NULL 并且表格是
tb_a
a | b | A
------------------------------------------
"some" | "thing" | "XXX"
"some" | "thing" | "YYY"
tb_b
a | c | is_field_null
----------------------------------------------
"thing" | "else" | "I have things here"
"thing" | "else" | NULL
tb_c
b | c | mapper
----------------------------------------------
"else" | "else" | "ZZZ"
"else" | "else" | "KKK"
我尝试了以下方法,它返回一些行,is_field_null 不为空。例如
A | is_field_null
-----------------------------
"XXX" | "I have things here"
"YYY" | "I have things here"
SELECT * FROM (
SELECT tb_a.A, tb_b.is_field_null FROM tb_a, tb_b, tb_c
WHERE tb_a.a = "some" AND tb_a.b = "thing" AND tb_c.c = "else"
AND tb_a.b = tb_b.a
AND tb_c.b = tb_b.c
) AS level1
WHERE level1.is_field_null IS NOT NULL
我希望有一张空桌子。我该怎么做?
例如
SELECT * FROM (
SELECT tb_a.A, tb_b.is_field_null FROM tb_a, tb_b, tb_c
WHERE tb_a.a = "some" AND tb_a.b = "thing" AND tb_c.c = "else"
AND tb_a.b = tb_b.a
AND tb_c.b = tb_b.c
) AS level1
WHERE level1.is_field_null IS NOT ALL NULL ??
【问题讨论】:
-
更新您的问题添加清晰的数据样本和预期结果
标签: mysql null where-clause