sql查询根据组合条件返回数据

时间:2017-09-25 20:10:18

标签: sql

需要编写一个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”数据,查询就会中断。

你知道为什么吗?

1 个答案:

答案 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是数字数据类型,请不要使用单引号。

相关问题