this과 같은 비슷한 질문이 있지만 나에게 맞지 않을 수 있습니다. 어쩌면 제가 여러 테이블에 참여할 수 있기 때문일 수 있습니다.그룹 별 쿼리에 누락 된 주 포함
DECLARE @StartDate datetime2, @EndDate datetime2;
SET @StartDate = DateAdd(day, -7, GETDATE());
SET @EndDate = DateAdd(year, 1, GETDATE());
WITH Weeks AS
(
SELECT @StartDate AS WeekDate
UNION ALL
SELECT DATEADD(day, 7, WeekDate)
FROM Weeks
WHERE DATEADD(day, 7, WeekDate) <= @EndDate
)
SELECT WeekDate AS WeekOfSRUs
,ISNULL(COUNT(i.incident_id), 0) AS SRUCount
--,i.incident_id
,ic.inc_cat_sc
FROM Weeks
,incident i
,JPTSYS_WEB_CUST_PROP_CONT
,JPTSYS_WEB_CUST_PROP
,JPTSYS_WEB_LKUP_DATA
,JPTSYS_WEB_LKUP
,JPTSYS_WEB_CUST_PROP_MULT
,inc_cat ic
WHERE (i.INCIDENT_ID=JPTSYS_WEB_CUST_PROP_CONT.ENTITY_ID AND
JPTSYS_WEB_CUST_PROP_CONT.JPTSYS_WEB_CUST_PROP_ID=JPTSYS_WEB_CUST_PROP.JPTSYS_WEB_CUST_PROP_ID AND
JPTSYS_WEB_CUST_PROP_CONT.SINGLE_SEL_VAL_ID=JPTSYS_WEB_LKUP_DATA.JPTSYS_WEB_LKUP_DATA_ID AND
JPTSYS_WEB_CUST_PROP.JPTSYS_WEB_LKUP_ID=JPTSYS_WEB_LKUP.JPTSYS_WEB_LKUP_ID AND
JPTSYS_WEB_LKUP_DATA.JPTSYS_WEB_LKUP_DATA_ID=JPTSYS_WEB_CUST_PROP_MULT.JPTSYS_WEB_LKUP_DATA_ID AND
JPTSYS_WEB_CUST_PROP.JPTSYS_WEB_CUST_PROP_ID =59) AND
(JPTSYS_WEB_CUST_PROP_CONT.DATE_VAL >= WeekDate AND JPTSYS_WEB_CUST_PROP_CONT.DATE_VAL < DATEADD(day, 7, WeekDate)) AND
(inc_cat_sc = 'R1A DESKTOPMIN' OR inc_cat_sc = 'R1B DESKTOPMAJ' OR inc_cat_sc = 'R8A CRTPATCH-DT') AND i.inc_cat_id = ic.inc_cat_id
GROUP BY ic.inc_cat_sc, Weeks.WeekDate
ORDER BY Weeks.WeekDate
결과 : 여기
어느 쪽이든 내 쿼리입니다 참조 된 모든 테이블에 관해서는
WeekOfSRUs SRUCount inc_cat_sc
2013-01-25 10:06:57.2370000 4 R1A DESKTOPMIN
2013-01-25 10:06:57.2370000 1 R1B DESKTOPMAJ
2013-02-01 10:06:57.2370000 4 R1A DESKTOPMIN
2013-02-08 10:06:57.2370000 2 R1A DESKTOPMIN
2013-02-08 10:06:57.2370000 1 R1B DESKTOPMAJ
2013-02-15 10:06:57.2370000 3 R1A DESKTOPMIN
2013-02-15 10:06:57.2370000 2 R1B DESKTOPMAJ
2013-02-15 10:06:57.2370000 2 R8A CRTPATCH-DT
2013-02-22 10:06:57.2370000 3 R1A DESKTOPMIN
2013-02-22 10:06:57.2370000 4 R1B DESKTOPMAJ
2013-03-01 10:06:57.2370000 5 R1A DESKTOPMIN
2013-03-08 10:06:57.2370000 4 R1A DESKTOPMIN
2013-03-15 10:06:57.2370000 2 R8A CRTPATCH-DT
2013-03-22 10:06:57.2370000 1 R1A DESKTOPMIN
2013-03-29 10:06:57.2370000 1 R1B DESKTOPMAJ
2013-05-03 10:06:57.2370000 1 R1B DESKTOPMAJ
2013-05-10 10:06:57.2370000 1 R1A DESKTOPMIN
이 우리가 사용하도록 강요하고 통제 할 수없는 계약 된 제품 데이터베이스 설계/스키마 설치 후 추가 된 사용자 정의 필드이기 때문에 필요한 특정 필드를 얻으려면이 조인이 필요하다고 들었습니다.
위에서 게시 한 링크에서 LEFT JOIN
에 대한 내 쿼리가 수정되었지만 여전히 동일한 결과가 나타납니다.
저는 중급/고급 SQL에 익숙하지 않습니다. 정보를 빠뜨린 경우 기꺼이 추가하여 작동하도록하십시오.
감사합니다.
예 모든 inc_cat_sc에 대해 매주 찾고 있습니다. 나는 십자가에 조인하는 방법에 익숙하지 않습니다, 당신은 모범을 보여줄 수 있습니까? –