Главная страница
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.046 c
1-1108401404
yarvu
2005-02-14 20:16
2005.02.27
ActiveX HTML


1-1108538265
rezo
2005-02-16 10:17
2005.02.27
Остановка службы


3-1106813424
ROMshtain
2005-01-27 11:10
2005.02.27
Связь с Oracle


1-1108349796
alena.svt
2005-02-14 05:56
2005.02.27
Code Explorer


1-1108100180
Denmin
2005-02-11 08:36
2005.02.27
Что не так в DBGrid1KeyDown(DBGrid1,VK_RETURN,[]);?