0

嗨,我需要帮助我的查询。我想用产品找到 N 行

我的查询是:

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

但是现在我有 3 种产品,但其中一种还没有。如何产生 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 回答