2013-08-10 2 views
1

나는 stock_item 테이블을 가지고 있는데, 여기에는 재고 시스템을 통과 한 모든 재고가 저장되어 있습니다.재고 시스템 - SQL에 재고가 표시되지 않음

각 재고 항목처럼 많은 상태 중 하나 일 수 있습니다 0 (not_yet_allocated) 1 ... 3는 (반환), (할당) 등 내가하려고

특정 재고 유형에 대해 재고가 부족할 때 알려주는 알림 시스템을 만드십시오. 여기

SELECT name, status, count(id) AS count 
FROM stock_item 
WHERE status IN (0,3) /* Items that are not yet allocated (0), or items that have been returned (3) */ 
GROUP BY name, status 
ORDER BY count ASC; 

위의 SQL은 잘 작동, 유일한 문제는 조항이 충족되지 WHERE 경우는 즉, 주식 유형을 표시하지 않는다는 것입니다, 내가 지금까지 가지고있는 SQL입니다 특정 유형에 대한 "재고"항목이 없다하더라도, 난 여전히 당신은 모든 항목을 참조 조건부 집계를 필요 0

답변

2

의 수와 반환 할 유형을 필요

SELECT name, status, sum(case when status IN (0,3) then 1 else 0 end) AS count 
FROM stock_item 
GROUP BY si.name, si.status 
ORDER BY count ASC; 
+0

완벽한 , 그것은 트릭, 고마워! – Odyss3us

관련 문제