0

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

例如:

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

这将返回 true,因为 column(Reference) 只有一个值但有多行

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

这将返回 false,因为 column(Reference) 有 2 个值。

4

1 回答 1

2

您想要一个带有 case 语句的聚合。以下查询检查多个值(假设没有 NULL):

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

如果您确实还需要多行:

select (case when count(distinct Reference) = 1 and count(*) > 1 then 'TRUE'
             else 'FALSE'
        end)
from t
于 2013-06-05T02:52:17.840 回答