需要编写一个sql来根据组合条件从表中过滤记录。如果column_1为“A”,则显示记录,然后column_2为“100”,如果column_1为“B”,则显示记录,然后column_2为“200”
select *
from tableTmp
where
name="student"
and ((column_1="A" and column_2 = "100") OR (column_1="B" and column_2 = "200"))
当第一个条件不存在时,它会显示我们想要的东西。但是如果有第一个条件,那么仍然会显示column_1 =“C”数据,查询就会中断。
你知道为什么吗?答案 0 :(得分:0)
对文字使用单引号:
select *
from tableTmp
where name='student'
and (
(column_1='A' and column_2 = '100')
OR (column_1='B' and column_2 = '200')
)
但是我无法看到该查询如何返回'C'的column_1值。
的Nb。如果column_2是数字数据类型,请不要使用单引号。