首页 > 解决方案 > 如何在 SQL (Redshift) 中使用 IF 条件进行选择?

问题描述

我有一个 5 列的表。具有值“A”、“B”、“C”和“D”的列 1 和具有从 0 到 20 的 int 值的另一个列 2,列 3、列 4 和列 5 具有其他值,目前不重要。

我想选择表中的所有记录,但不选择 column1 值“B”中的记录。但是,colum1 值为“B”的记录应满足 column2 中的值 > 10 的条件。如果它们在 column2 中为 ex。15、我们可以将它们包含在select中。

这个怎么选?

SELECT 
column1
, column2
, column3
, column4
, column5 

FROM tableA

WHERE 
only_include_values_B_from_column1_IF_it_has_in_column2_value_superior_than_10

标签: sqlamazon-redshift

解决方案


如果我理解正确,你想要OR

SELECT column1, column2, column3, column4, column5 
FROM tableA a
WHERE column1 <> 'B' OR column2 > 10

推荐阅读