在case case sql中使用distinct

时间:2016-09-26 05:35:06

标签: sql postgresql amazon-redshift

有没有办法在sql的case语句中使用distinct?

例如 -

CASE WHEN col1 = 'XYZ' and DISTINCT(col1,col2)
THEN 'Do_This'
ELSE 'Do_That'
END

不幸的是,如上所述在case语句中使用DISTINCT会引发错误。

我正在使用postgres / redshift sql。

1 个答案:

答案 0 :(得分:0)

首先,你的目标不明确,但是根据你的查询,我的假设是你想要DO_This或Do_That,取决于col1值为'XYZ',分组为col 1,col2。

SELECT 
CASE WHEN COL1 = 'XYZ'
THEN 'DO_THIS'
ELSE 'DO_THAT'
END
FROM 
(
SELECT 
COL1, COL2
FROM YOUR_TABLE
GROUP BY COL1, COL2
)