case expression - MYSQL retrieve data dependent on rows returned -


i working on mysql query filter out occurrences dependent on how many rows returned.

i trying filter out support categories when number of rows returned 1, leave support category in when result set turned more 1.

i had idea seems if not work.

select stockmaster.description, sum(salesorderdetails.quantity), stockmaster.categoryid         qty  salesorderdetails, stockmaster  salesorderdetails.stkcode=stockmaster.stockid  , orderno='5222' group stockmaster.description having case when stockmaster.categoryid = 's&m' count(*) >= 2 else count(*) = 1   end 

any gratefully accepted.

try this

select * (  select stockmaster.description,         sum(salesorderdetails.quantity),         stockmaster.categoryid         qty ,        count(*) count salesorderdetails, stockmaster  salesorderdetails.stkcode=stockmaster.stockid  , orderno='5222' group stockmaster.description having case when stockmaster.categoryid = 's&m'   ) main_data  main_data.count >1 

Comments