mysql子查询取决于字段值

时间:2014-07-23 18:37:08

标签: mysql select if-statement subquery conditional-statements

我想根据某个字段值使用不同的条件。 例如,如果field1 =' abc'的值那么field2应该是' 123'否则field3应该是< 456'我的查询要复杂得多,但问题是我是否可以根据字段值使用不同的条件。 这样的事情:

SELECT * FROM table 
WHERE 
  CASE table.field1='abc'
  THEN table.field2='123'
  ELSE table.field3='456'

我有一个解决我的问题的方法,但它有3个子查询需要花费大量时间来回应。

1 个答案:

答案 0 :(得分:0)

  

例如,如果field1 ='abc'的值,则field2应为'123'   else field3应为'456'

这里你真的不需要CASE声明。而是使用不同的条件组合,如。

WHERE (field1 = 'abc' and field2 = '123')
OR (field1 != 'abc' and field3 = '456')