Oracle 10g SQL:如果列只有一个值,则返回true,但>;表中的1行

Oracle 10g SQL:如果列只有一个值,则返回true,但>;表中的1行,sql,oracle10g,Sql,Oracle10g,如果一列在一个表中只有一个值但有多行,如何检查一个表 例如: ID Reference Status 1 28910293 900 2 28910293 920 3 28910293 930 这将返回true,因为列(引用)只有一个值,但有多行 ID Reference Status 1 289102

如果一列在一个表中只有一个值但有多行,如何检查一个表

例如:

ID        Reference        Status       
1         28910293         900
2         28910293         920
3         28910293         930
这将返回true,因为列(引用)只有一个值,但有多行

ID        Reference        Status       
1         28910293         900
2         28910293         920
3         28910293         930
4         28910291         900

这将返回false,因为列(引用)有2个值。

您希望使用case语句进行聚合。以下查询检查多个值(假设没有空值):

如果您确实也需要多行:

select (case when count(distinct Reference) = 1 and count(*) > 1 then 'TRUE'
             else 'FALSE'
        end)
from t

. . 关于英语的笔记。你用“a”这个词来表示与“one”相同的意思,这很难理解。例如,您的意思是“只有一个值,但有多行”。好的,注意到了,谢谢您的提醒
select (case when count(distinct Reference) = 1 and count(*) > 1 then 'TRUE'
             else 'FALSE'
        end)
from t