需要基于SQL中的另一列值比较表中同一列的单元格值
我需要根据sql中另一列值的值来比较表中一列的单元格需要基于SQL中的另一列值比较表中同一列的单元格值,sql,sql-server,compare,Sql,Sql Server,Compare,我需要根据sql中另一列值的值来比较表中一列的单元格 Id A B 1 Ram 50 2 Ram 50 3 Siva 123 4 Siva 25 5 Rose 75 6 Rose 75 7 Siva 123 我有上表,我需要检查A列中的Ram是否与B列中的值相同,如果没有,我应该返回false 在上述情况下,应返回false,因
Id A B
1 Ram 50
2 Ram 50
3 Siva 123
4 Siva 25
5 Rose 75
6 Rose 75
7 Siva 123
我有上表,我需要检查A列中的Ram是否与B列中的值相同,如果没有,我应该返回false
在上述情况下,应返回false,因为Siva Incomn A列在B列中具有不同的值
我不知道怎么做。同样的,请帮忙
预期结果
返回False,因为Siva存在值不匹配
select A,
case when min(B)=max(B) then 'True' else 'False' end as Flag
From yourtable
Group by A
或者,如果要为每行显示标志列,则
select A,
case when min(B)over(partition by A)=max(B)over(partition by A) then 'True' else 'False' end as Flag
From yourtable
更新:如果至少存在一个不匹配项,则要显示False
SELECT CASE
WHEN EXISTS(SELECT 1
FROM yourtable
GROUP BY A
HAVING Min(B) <> Max(B)) THEN 'False'
ELSE 'True'
END
谢谢:。如果不匹配,我需要显示一条消息,我的表可能包含大约500行,因此不希望每行显示一条消息。可能吗?@Kumar-我不明白。如果至少有一个A有false,你只想打印false?是的,我只需要根据A的值比较B的所有值是否都有相同的值。在上面的情况下,Siva rest有不匹配的情况。所以我需要打印false。