配置单元查询以将键映射到多个值

hive query to map keys to multiple values

我有一个 table 的结构类似于下面的结构:

|C1|C2|C3|
|K1|V1|??|
|K1|V2|??|
|K1|V3|??|
|K2|V2|??|

我需要编写一个查询来检查键(比方说 K1)是否映射到任何行中的特定值(比方说 V2)。如果是,则 C3 列中的值被视为 1,否则为 0。

如有任何帮助,我将不胜感激。

以下查询应该会给出您想要的结果。子查询标识所有 C1 值,这些值至少映射到 C2 中的某个值一次。如果是这样,那么我们将 C3 值渲染为 1,否则我们显示 0.

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