2011-10-04 3 views
0

우리 공장에서 매일 생산 번호를받는 준비 테이블 (DB2)이 있습니다.데이터가없는 요일을 검색하는 쿼리

때때로 네트워크가 중단되어 데이터가 수신되지 않는 날이있을 수 있습니다. 나는 일을 검색하는 SQL 쿼리를 만들기 위해 노력하고 있지만, 나는이

MODDATE COUNT   
---------- ----------- 
09/30/2011  0 

    1 record(s) selected. 

처럼하지만 아무 소용이 뭔가를 기다리고 있었다

SELECT MODDATE, 
COUNT(DISTINCT EWDF) AS COUNT 
FROM PROD_FACT 
WHERE MODDATE=CURRENT_DATE - 7 DAYS 
GROUP BY MODDATE 
HAVING COUNT(DISTINCT EWDF)=0 

을 작동하지 않습니다. 반환 된 행이 없습니다. 나는 무엇이 없는가 ??

+0

테이블 구조는 무엇인가? –

+0

카운트가없는 경우 어떻게 행을 되돌릴 수 있습니까? 그 행 (따라서 날짜) 테이블에 존재하지 않는 것을 의미합니까? – mwan

+0

@ mwan : 너는 천재 야. 나는 우버 버둥이다. 나는이 메시지를 게시하면 (이마를 때 리다) 깨달았다. 우리는 조인을 남겨두고 데이터가없는 날을 출력 할 수있는 시간 차원을 만들 예정입니다. – Chris

답변

2

당신은 아마 하위 쿼리를 가지고에 사용하지 않을 필요가

아마 이런 식으로 뭔가 :.

select prod_fact.moddate 
from 
prod_fact 
where 
prod_fact.moddate not in 
(
    SELECT distinct MODDATE 
    FROM PROD_FACT 
    WHERE MODDATE = CURRENT_DATE - 7 DAYS 
) 
관련 문제