使用 CASE WHEN 检查列中是否存在 UserID
Using CASE WHEN to check if a UserID exists within a column
我创建了一个临时文件 table,用于创建订阅两个不同列表的用户的用户 ID 列表。所以 table 看起来像这样:
|userid|
+++++++++
1
2
3
4
5
我想创建一个 Yes/No 标志,只是此行中存在 userid 的任何值。我试过这样构建它:
CREATE TABLE temp.flags AS
SELECT distinct userid,
CASE WHEN _______
then 'Y' ELSE 'N' END AS Both
FROM temp.usertable
我希望输出看起来像这样:
|userid|
+++++++++
Y
Y
Y
Y
Y
就个人而言,我会颠倒逻辑:
SELECT distinct
userid,
CASE WHEN userid IS NULL THEN 'N' ELSE 'Y' END as is_userid_present
FROM temp.usertable
但您也可以:
SELECT distinct
userid,
CASE WHEN userid IS NOT NULL THEN 'Y' ELSE 'N' END as is_userid_present
FROM temp.usertable
我创建了一个临时文件 table,用于创建订阅两个不同列表的用户的用户 ID 列表。所以 table 看起来像这样:
|userid|
+++++++++
1
2
3
4
5
我想创建一个 Yes/No 标志,只是此行中存在 userid 的任何值。我试过这样构建它:
CREATE TABLE temp.flags AS
SELECT distinct userid,
CASE WHEN _______
then 'Y' ELSE 'N' END AS Both
FROM temp.usertable
我希望输出看起来像这样:
|userid|
+++++++++
Y
Y
Y
Y
Y
就个人而言,我会颠倒逻辑:
SELECT distinct
userid,
CASE WHEN userid IS NULL THEN 'N' ELSE 'Y' END as is_userid_present
FROM temp.usertable
但您也可以:
SELECT distinct
userid,
CASE WHEN userid IS NOT NULL THEN 'Y' ELSE 'N' END as is_userid_present
FROM temp.usertable