我想根据子查询的结果SELECT WHERE column
IS NULL
或=value
。
这是一个不正确的解决方案示例,可以说明该问题:
SELECT *
FROM table
WHERE column=(
SELECT (CASE WHEN COUNT(*) = COUNT(COLUMN) THEN MIN(column) END)
FROM table
)
当子查询返回NULL
时,其他查询将不返回任何内容,因为column=NULL
从不为真。我该如何解决?
答案 0 :(得分:1)
根据您的问题。只需在OR column IS NULL
子句中添加where
。
您将获得子查询条件或column IS NULL
数据。
SELECT *
FROM table
WHERE column= (
SELECT (CASE WHEN COUNT(*) = COUNT(COLUMN) THEN MIN(column) END)
FROM table
) OR column IS NULL
答案 1 :(得分:1)
如果您只想查找一行,我建议:
select t.*
from table t
order by column nulls first
fetch first 1 row only;