안녕하세요?
열심히 노력해봤는데.. 힘들군요.
사용자가 선택한 fromTime에서 toTime까지의 데이터를 가져오려
하는데.. 생각처럼
안되고 있습니다.
MS-SQL 2000 사용 중입니다.
아래는 현재의 쿼리 부분과 그 결과입니다.
---------------------------------------------------------------------------------
SELECT CONVERT(CHAR(14), EventTime, 120) + '00' + '~' +
CONVERT(CHAR(14),
DATEADD(hour, 1, EventTime), 120) + '00' AS TIME, A, B, C,
COUNT(*) AS [Number of Occurrence]
FROM AlarmLog
WHERE (A = '3A') AND (EventTime BETWEEN '2005/05/01 00:00' AND
'2005/05/05 05:00')
GROUP BY CONVERT(CHAR(14), EventTime, 120) + '00' + '~' +
CONVERT(CHAR(14),
DATEADD(hour, 1, EventTime), 120) + '00', A,
B, C
ORDER BY TIME
---------------------------------------------------------------------------------
현재 결과:
Time A B C
Number of Occurrence
2005/05/01 00:00 ~ 2005/05/01 01:00 3A X X 1
2005/05/01 01:00 ~ 2005/05/01 02:00 3A X X 12
2005/05/01 02:00 ~ 2005/05/01 03:00 3A X X 3
2005/05/01 04:00 ~ 2005/05/01 05:00 3A X X 4
...
---------------------------------------------------------------------------------
-> 이벤트가 일어난 시각의 데이터만 있습니다. EventTime라는
컬럼은 DateTime형식입니다.
제가 원하는 결과는.. 만약 특정 시간 동안의 data가 없더라도
보여줘야 한다는 것입니다.
아래처럼 말이죠...
---------------------------------------------------------------------------------
원하는 결과:
Time A B C
Number of Occurrence
2005/05/01 00:00 ~ 2005/05/01 01:00 3A X X 1
2005/05/01 01:00 ~ 2005/05/01 02:00 3A X X 12
2005/05/01 02:00 ~ 2005/05/01 03:00 3A X X 3
2005/05/01 03:00 ~ 2005/05/01 04:00 3A X X
0
2005/05/01 04:00 ~ 2005/05/01 05:00 3A X X 4
...
---------------------------------------------------------------------------------
테이블을 따로 만들지 않고 원하는 결과를 얻을 수 있을까요?
해결 방법을 아시는 분이 계시면 가르쳐주시면 정말
고맙겠습니다.
부탁드립니다.
안녕히계세요.
|