Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

ПЕРЕСЕЧЕНИЕ не СВЯЗАННЫХ ТАБЛИЦ   Найти похожие ветки 

 
anat   (2005-01-27 13:36) [0]

Есть таблица T1 с полями
Dt_Beg Date
dt_End Date
Value Number — определяет некое значение

Есть таблица T2 c полями
D_BEG Date
D_END Date

Необходимо
По каждой записи из T2
вывести
T2.D_Beg,T2.DEnd,T1.VALUE,DtIntersectBeg,DtIntersectEnd

где DtIntersectBeg и DtIntersectBeg пересечения (по датам) T1 и T2


 
Sergey13 ©   (2005-01-27 13:42) [1]

>где DtIntersectBeg и DtIntersectBeg пересечения (по датам) T1 и T2
Проилюстрируй примером, плиз.


 
anat   (2005-01-27 13:58) [2]

T1
Dt_Beg        Dt_end       Value
05.01.2004    01.10.2004   1
11.02.2004    01.10.2004   2
11.01.2004    15.01.2004   4

T2
D_Beg         D_End
01.01.2004    31.01.2004
01.02.2004    29.02.2004
01.03.2004    31.03.2004
01.04.2004    30.04.2004

Нужен результат
T2.D_BEG      T2,D_END    T1.V  DtInterBeg    DtInterEnd
01.01.2004    31.01.2004  1     01.01.2004    31.01.2004
01.01.2004    31.01.2004  4     11.01.2004    15.01.2004
01.02.2004    29.02.2004  2     11.02.2004    29.02.2004
01.03.2004    31.03.2004  2     01.03.2004    31.03.2004
01.04.2004    30.04.2004  2     01.04.2004    30.04.2004


 
Ольга   (2005-01-28 08:42) [3]

select b.dbeg, b.dend,a.val,
     CASE WHEN a.dbeg<b.dbeg THEN b.dbeg ELSE a.dbeg END as D1,
     CASE WHEN a.dend<b.dend THEN a.dend ELSE b.dend END as D2
from t2 b left join t1 a on
     ((a.dbeg between b.dbeg and b.dend) or
     (a.dend between b.dbeg and b.dend)) or
     (a.dbeg<b.dbeg and a.dend>b.dend)

Возможно в CASE есть небольшой косячок, надо аккуратно проверить (а лень).

Почему у вас в результат не попали записи из Т1 (1 запись) в февраль-март-апрель?
Это вы ошиблись или я неправильно поняла условия?



Страницы: 1 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
3-1107010751
Hort
2005-01-29 17:59
2005.02.27
Добавить запись в базу Interbase


3-1106847154
Fedor
2005-01-27 20:32
2005.02.27
Подсчет количества записей в таблице


3-1106914763
Rule
2005-01-28 15:19
2005.02.27
Непонятная ситуация с FIBPlus


14-1107345166
Никита
2005-02-02 14:52
2005.02.27
Почему кладовка заперта?


1-1107875556
Dmitry_04
2005-02-08 18:12
2005.02.27
Как вернуть прямоугольную форму из непрямоугольной?