0

こんにちは私は私の質問を手伝う必要があります。製品でN行を検索したい

私の質問は:

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

しかし、今私は3つの製品を持っていますが、そのうちの1つはsnしていません。どのように3行になりますか?

 s.sn IN(100,20 ,*)

'*'の代わりに何が機能しますか?100個の製品があり、2個だけがse(uniqe)である場合、結果は3行(sn 100と20、およびその他の3行目)である必要があります。

4

1 に答える 1

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 に評価されるということです。そのプロパティを降順に並べると、プロパティが保持するレコードが一番上にリストされます。

于 2013-03-13T19:50:41.137 に答える