我正在尝试创建一个查询以选择某个条件,然后在该条件下选择另外两个条件。
打破它。
SELECT
条件1 FROM
第2列,如果不符合此条件,则不返回任何内容。SELECT
条件2 FROM
第3列,SELECT
条件3 FROM
第4列,如果满足这两个条件中的任何一个,则返回该行值的相应列值。 我的微弱尝试会产生明显的语法错误,
SELECT Column_1
FROM Data_TBL
WHERE Column_2 = 'Condition_1'
GROUP BY(WHERE Column_3 = 'Condition_2' OR Column_4 = 'Condition_3')
ORDER BY Column_1 ASC
对于SQL语句来说仍然很新,我正在努力学习语法。
答案 0 :(得分:2)
我认为你只需要一个where
条款。对于过滤:
select t.*
from data_tbl t
where (column2 = 'Condition_1') and
(column3 = 'Condition_2' or column4 = 'Condition_3);
我不确定当column3
和column4
符合相应条件时您想要返回什么,但我认为这就是您想要的:
select (case when column3 = 'Condition_2' then column3 else column4 end)
from data_tbl t
where (column2 = 'Condition_1') and
(column3 = 'Condition_2' or column4 = 'Condition_3);