我试图验证列何时具有同一组的所有相同值。以下是我的表格数据示例:
例如,使用这些数据。我想检查Status
的所有值是否与具有相同TPID
的每一行相同。因此,TPID
60210应该为True,因为两个项目都有Status
个A.但是,TPID
60061应该导致错误,因为Line_Item
中有两个显示A,其余的p上。
我打算使用此信息更新其他表,并使用CASE语句设置其status
。但我不知道如何检查这个专栏以找到我想要的价值。
答案 0 :(得分:1)
据我所知,你可能想要这样的东西: -
;WITH CTE_Count
AS
(
SELECT TPID, COUNT(DISTINCT Status) CNT
FROM TableName
GROUP BY TPID
)
UPDATE AnotherTableName
SET ColumnName = (
CASE WHEN CTE_Count.CNT = 1 -- all row has same status
THEN SomeValue
ELSE SomeOtherValue END
)
FROM AnotherTableName
INNER JOIN CTE_Count ON ...
希望它有帮助&让我知道,我想念任何事情。