我有两个表(fruits
和fruitSales
),那里有我的查询要求是:案例查询值
if fruit = 'Apple' OR 'Banana' then fire (query1) else fire(query2)
//即当我输入的是苹果或香蕉,然后QUERY1有火或其他查询2。
这里是我的两个查询:
查询#1:
select a.*, b.quantity
from fruits a
left join fruitSales b on a.fruitPrice = '%'+b.fruitPrice+'%'
where a.fruit = 'Apple'
查询#2:
select a.*, b.quantity
from fruits a
left join fruitSales b on a.fruitPrice like '%' + b.fruitPrice + '%'
where a.fruit = 'Orange'
总之:在我的查询唯一的区别就是 “喜欢” 在查询1中的query2和“=”。我不知道如何在这种情况下使用CASE查询(因为我的输入数据依赖于Apple或Banana这两个值)
解决方案非常感谢。
为什么不试试if else then case语句在哪里as if else else在某些场景中优化器会更好。 (@fruit ='Apple') 然后开始查询........结束 if(@fruit ='Banana') 然后开始查询........结束 – 2014-12-02 06:41:13
可以我是这样做的两个输入?如果(@水果=苹果或@水果=香蕉)?像这样的东西存在吗? – HookUp 2014-12-02 06:42:50
确实走了吧 – 2014-12-02 06:44:39