我有一张结构类似于下面的表格:
|C1|C2|C3| |K1|V1|??| |K1|V2|??| |K1|V3|??| |K2|V2|??|
我需要编写一个查询,检查键(比如k1)是否Map到任何行中的特定值(比如v2)。如果它这样做,c3列中的值将被视为1,否则为0。我很感激任何帮助。
xdnvmnnf1#
下面的查询应该给出您想要的结果。子查询标识所有 C1 Map到中某个值的值 C2 至少一次。如果是这样,那么我们呈现 C3 值为1,否则显示0。
C1
C2
C3
SELECT t1.C1, t1.C2, CASE WHEN t2.C1 IS NOT NULL THEN 1 ELSE 0 END AS C3 FROM yourTable t1 LEFT JOIN ( SELECT C1 FROM yourTable GROUP BY C1 HAVING SUM(CASE WHEN C2 = 'V1' THEN 1 ELSE 0 END) > 0 ) t2 ON t1.C1 = t2.C1
1条答案
按热度按时间xdnvmnnf1#
下面的查询应该给出您想要的结果。子查询标识所有
C1
Map到中某个值的值C2
至少一次。如果是这样,那么我们呈现C3
值为1,否则显示0。