Это немного сложно объяснить, но я сделаю все возможное.
Скажем, у меня есть две таблицы:
Dates
(DateColumn datetime)
SomeData
(ID1 int, ID2 int, SomeDate datetime)
Dates
ВСЕГДА содержит следующие даты:
1/1/2012
1/2/2012
1/3/2012
SomeData
содержит данные, подобные этому:
ID ID1 ID2 SomeDate
1 1 4 1/1/2012
2 1 4 1/2/2012
3 2 3 1/1/2012
4 2 3 1/3/2012
6 5 1 1/2/2012
Теперь обратите внимание, что в SomeData
некоторые строки имеют одинаковые комбинации ID1 и ID2. Также обратите внимание, что некоторым из них не хватает определенных дат, найденных в таблице Dates
. Мне нужно как-то объединить каждую из этих комбинаций с КАЖДОЙ датой в таблице Dates
, чтобы найти пропущенные даты.
Итак, при присоединении данные выглядят так:
ID ID1 ID2 SomeDate
1 1 4 1/1/2012
2 1 4 1/2/2012
NULL 1 4 1/3/2012 <-- missing from SomeData table
3 2 3 1/1/2012
NULL 2 3 1/2/2012 <-- missing from SomeData table
4 2 3 1/3/2012
NULL 5 1 1/1/2012 <-- missing from SomeData table
6 5 1 1/2/2012
NULL 5 1 1/3/2012 <-- missing from SomeData table
Обратите внимание, как каждая комбинация ID1 + ID2 возвращает по 3 записи, используя все даты в таблице Dates
, а также обратите внимание, как каждая «отсутствующая» запись поддерживает комбинацию ID1 + ID2. Есть идеи, как я могу это осуществить?
Заранее спасибо!