이 파생 테이블을 반환하는 SQL 스크립트가 있습니다. 당신이 볼 수 있듯이조인을 사용하여 누락 된 행 삽입
MM/YYYY Cat Score
01/2012 Test1 17
02/2012 Test1 19
04/2012 Test1 15
05/2012 Test1 16
07/2012 Test1 14
08/2012 Test1 15
09/2012 Test1 15
12/2012 Test1 11
01/2013 Test2 10
02/2013 Test2 15
03/2013 Test2 13
05/2013 Test2 18
06/2013 Test2 14
08/2013 Test2 15
09/2013 Test2 14
12/2013 Test2 10
것은 좀 MM/YYYYs을 잃었 (03/2012, 06/2012, 2,012분의 11 등).
고양이 & 점수가 누락 된 MM/YYYY를 채우고 싶습니다.
쿼리가 실행될 범위에 대해 모든 MM/YYYY가 포함 된 테이블을 조인하려고 시도했으나 첫 번째 발생에 대해 누락 된 행만 반환하며 각 Cat에 대해 반복하지 않습니다 (알고 있어야 함) 그).
제 질문은 이것입니다. 조인을 사용하여이 작업을 수행 할 수 있습니까? 아니면 임시 테이블에서이 작업을 수행 한 다음 데이터를 출력해야합니까?
AHIGA, LarryR ...
작은 범위에서 성능 차이가 미미할지라도 일반적으로 순차적 CTE를 사용하면 순차적 목록을 생성하는 것이 쉽지 않습니다. [이 기사의 SQL 성능] (http://www.sqlperformance.com/2013/01/t-sql-queries/generate-a-set-2)은 SQL에서 순차적 목록을 생성하는 데 사용할 수있는 다양한 방법에 대한 테스트를 보여줍니다. -섬기는 사람. – GarethD
'('20120601', 'Test2', 10)'과 같이 추가 행이'@ temp' 테이블에 추가되면 결과에서도 test1에 대해 '20120601'이 더 이상 고려되지 않으므로 실패합니다. 2012 년 6 월 시험에 대한 기록이 없다. – GarethD
@ GarthD, 발언 해 주셔서 감사합니다. 그럼에도 불구하고 원래 문제는 과제를 해결하는 것이 었습니다. 어떤 경우 CTE를 사용하는 것이 최적이 아니라는 사실에 관해서 나는 당신의 의견에 동의합니다. 그러나이 특정 작업에 대해 우리는 50,000 개가 넘는 값의 시퀀스를 생성하기 위해 그다지 앞을 내다 보지 않습니다. 이러한 관점에서 쿼리 생산성이 감소하는 것을 보지 못할 수도 있습니다. – Devart