0

返される行数に応じて特定のオカレンスを除外する mysql クエリに取り組んでいます。

返された行数が 1 の場合はサポート カテゴリを除外しようとしていますが、結果セットが 1 を超える場合はサポート カテゴリをそのままにしておきます。

私はもともとこの考えを持っていましたが、うまくいかないようです。

SELECT stockmaster.description, SUM(salesorderdetails.quantity), stockmaster.categoryid         as qty 
FROM salesorderdetails, stockmaster 
where salesorderdetails.stkcode=stockmaster.stockid 
and orderno='5222'
group by stockmaster.description
HAVING CASE WHEN stockmaster.categoryid = 'S&M' THEN COUNT(*) >= 2 ELSE COUNT(*) = 1   END

どんな助けもありがたく受け入れます。

4

1 に答える 1

0

これを試して

SELECT *
FROM
(

SELECT stockmaster.description, 
       SUM(salesorderdetails.quantity), 
       stockmaster.categoryid         as qty ,
       COUNT(*) AS count
FROM salesorderdetails, stockmaster 
where salesorderdetails.stkcode=stockmaster.stockid 
and orderno='5222'
group by stockmaster.description
HAVING CASE WHEN stockmaster.categoryid = 'S&M' 

) MAIN_DATA

WHERE MAIN_DATA.count >1
于 2013-07-19T12:21:02.250 に答える