Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.034 c
6-1103116889
Василий Васильевич Пупкин
2004-12-15 16:21
2005.02.27
Передача данных на сервер методом POST


1-1107956795
YuriS
2005-02-09 16:46
2005.02.27
DateTimePicker


10-1082127000
Koster
2004-04-16 18:50
2005.02.27
Передача массивом Ole объекту


10-1084008974
ivs
2004-05-08 13:36
2005.02.27
Передача массива данных


1-1108013802
kolos_rus
2005-02-10 08:36
2005.02.27
Как перенести DELPHI 7 со всеми прибамбасами на другой ПК?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский