我试图创建一个查询来选择某个条件,然后在该条件中选择另外两个条件。
把它分解。
SELECT
条件1FROM
列2,如果不满足此条件,则不返回任何内容SELECT
条件2FROM
列3,SELECT
条件3FROM
列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语句来说还是很陌生的,我在语法方面很吃力。
我认为您只需要一个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);