2013-03-13 67 views
0

嗨,我需要幫助我的查詢。 我想找到產品N行mysql IN和其他選項

我的查詢是:

Select ...... WHERE 
    s.id_prod = 2 AND s.sn IN(100,20) 
    LIMIT 3 

,但現在我有3個產品,但其中一人還沒有SN。 結果3行如何?

s.sn IN(100,20 ,*) 

什麼取代'*'它將工作? 如果我有100個產品和僅2具有SE(的uniqe)我必須有結果3行(與SN 100和20和其它任何3TH行

回答

0
SELECT ... 
FROM ... 
WHERE s.id_prod = 2 
ORDER BY s.sn IN(100,20) DESC 
LIMIT 3 

的想法是,即s.sn IN(100,20)計算結果爲1或0具體取決於物業是否持有,按照物業的降序排列,將列出物業持有的頂部的記錄,