여기서는 전문 용어에 대해 잘 모르겠습니다. 예를 들어 보겠습니다.파생 테이블에 대한 연결
여기에서SELECT * FROM Events
--------------------
Id Name StartPeriodId EndPeriodId
1 MyEvent 34 32
에서, PeriodIds이 이벤트는 지속 시간을 지정하는 것이 도움이된다면 다른 테이블에 지정된 연도의 주으로 생각 :이 쿼리가 있습니다. EndPeriodId가 반드시 StartPeriodId 다음에 순차적으로 나오는 것은 아닙니다. 그래서 나는이 작업을 수행 할 수 있습니다 : 그것은 예에 불과하지 어떻게 실제로 작동의로
SELECT * FROM Periods WHERE Id = 34
-----------------------------------
Id StartDate EndDate
34 2009-06-01 2009-08-01
,이 구조에 연연하지 마십시오. 나는이 결과 집합을 마련하기 만하면 무엇 : 즉
Id Name PeriodId
1 MyEvent 34
1 MyEvent 33
1 MyEvent 32
을, 나는 이벤트가 존재하는 각 기간에 대한 이벤트 행을 선택해야합니다. 기간 정보 (32, 33, 34)를 쉽게 계산할 수 있지만 문제는 단일 쿼리에서 추출하는 것입니다.
이 SQL 서버에 2008
아니 정확히 내가 질문에 말했듯이 때문에 "라고 EndPeriodId 반드시 StartPeriodId 후 순차적으로되지 않는다는 것을 통지". 즉, BETWEEN에 의지 할 수 없으며 기간의 실제 날짜를 볼 필요가 있음을 의미합니다. –
그래도 비슷한 것을 사용할 수있는 것처럼 보입니다. 그냥 확인하는 것입니다! –
나는 당신을 사랑한다 Maximilian Mayerl. –