处理SCD类型2表格



我有这个表:

id  c1  c2  c3
A   Y   Y   N
B   Y   N   Y
C   Y   Y   N
C   Y   Y   N
D   Y   Y   N
D   N   N   Y
E   Y   Y   N
E   Y   N   N
E   N   Y   N
F   Y   Y   N
F   Y   Y   N
G   Y   N   N
G   Y   N   Y

我想检查相同id的c1和c3值是否有一个"Y",然后有"Y"其他"N",如果相同id的c2值有一个"N",然后有"N"其他"Y",如下所示:

id  c1 c2 c3
A   Y  Y  N
B   Y  N  Y
C   Y  Y  N
D   Y  N  Y
E   Y  N  N
.
.
.

我不知道该怎么办!


我认为您可以使用聚合。

SELECT id,
max(c1) c1,
min(c2) c2,
max(c3) c3
FROM elbat
GROUP BY id;

最新更新