sql - Case query based on two input values -


i have 2 tables (fruits , fruitsales), query requirement is:

if fruit = 'apple' or 'banana' fire (query1) else fire(query2) 

// i.e.., when input apple or banana, query1 has fire or else query2.

here 2 queries:

query #1:

 select a.*, b.quantity   fruits   left join fruitsales b on a.fruitprice = '%'+b.fruitprice+'%'   a.fruit = 'apple'  

query #2:

select a.*, b.quantity  fruits  left join fruitsales b on a.fruitprice '%' + b.fruitprice + '%'  a.fruit = 'orange' 

in short: difference in query "like" in query2 , "=" in query1. don't know how use case queries in case.(as input data dependent on 2 values, apple or banana)

solution appreciated.

use case condition in join condition.

 select a.*, b.quantity   fruits   left join fruitsales b on     case when a.fruit in ('apple', 'banana')                    , a.fruitprice = '%'+b.fruitprice+'%'          1         when a.fruit not in ('apple', 'banana')                    , a.fruitprice '%' + b.fruitprice + '%'          1         else  0     end = 1  a.fruit = 'apple'  

Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -