2014-11-18 2 views
0

아래 쿼리에 문제가 있습니다. c.startime이 작동하지 않고 모든 레코드를 리턴하는 조건.내부 조인 3 테이블, 조건 작동하지 않는 곳

SELECT Count(c.IdCase) AS Number_of_Escalations, c.MonitoringTool, m.Location 
FROM tblCases c 
INNER JOIN tblAlerts a ON c.IdCase = a.refIdCase 
INNER JOIN tblMembers m ON c.AddedBy = m.SOE 
WHERE c.StartTime > '2014-10-01' AND a.Profile LIKE 'ITO%' 
GROUP BY c.MonitoringTool, m.Location 

첫 번째 내부 조인 (및 a.profile 조건)을 제거하면 제대로 작동합니다. StartTime은 datetime 형식입니다.

하나의 사례에 여러 개의 경고가 할당되어 있습니다. 이것은 문제입니다. 시작 시간 조건을 제거하면 더 많은 기록을 얻습니다. 어쨌든 이것을 전달할 수 있습니까?

나는 지금 피들을 구축하려고합니다. 나는 그것을 만들 수 없습니다, 미안 해요.

+3

(1) 당신이 데이터베이스와의 질문에 태그를 사용; (2)'StartTime'의 종류는 무엇입니까? (3) 샘플 데이터를 제공하거나 SQL Fiddle을 만들 수 있습니까? –

+1

사례별로 여러 개의 알림이 있습니까? 그렇다면 예상보다 많은 수의 경험이있는 이유 일 수 있습니다. – Bobby

+0

첫 번째 내부 조인을 제거하고 c.IdCase의 값을 a.refIdCase – NoChance

답변

0

그러나 데이터 샘플을 보지 않고 열 속성을 알지 못해서 말하기 어렵지만 c.StartTime과 일반 텍스트를 조건에 비교하는 방법에 문제가있을 수 있습니다.

이 시도 :

[...] 
c.StartTime > to_date('2014-10-01','yyyy-mm-dd') 
[...] 

편집 : 젠장, 마지막 문장을 놓친 ... 다음 문제에 아마 없을 솔루션을 ;-)