Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL [D6]


Гость111 ©   (2006-03-09 10:21:00) 

Есть две таблицы
1-ая: № Наименование
2-ая: № Наименование Масса Дата

Необходимо вывести все наименования из 1-ой таблицы, Массу и дату из 2-ой таблицы. За период который ввел пользователь, причем если для какогото наименования из 1-ой таблици нет значения во 2-ой таблице на этот период то надо вывести это наименование со значением на предшествующую дату.

Например:
Если пользователь ввел 03,02,06 то надо вывести все что есть на 03,02,06 а если для этой даты ничего нет для конкретного наименования то надо вывести для этого наименования за 02,02,06, а если нет за 02,02,06 то надо вывести за 01,02,06 и т.д.


Johnmen   (2006-03-09 11:34:00) [1]

SELECT T1.Наименование, T2.Масса, T2.Дата
FROM Table1 T1
LEFT JOIN Table2 T2 ON (T1.Наименование=T2.Наименование) AND
(T2.Дата=(SELECT MAX(T3.Дата) FROM Table2 T3 WHERE T2.Наименование=T3.Наименование))


Гость111   (2006-03-09 10:41:00) [2]

Во второй таблице может не быть какогото наименования, а первая таблица это список всех наименований.

А что такое Т3, Т1 и Т2 я так понял это мои таблици.


Fay   (2006-03-09 10:35:00) [3]

2 [1] Johnmen ©   (09.03.06 10:34)
> вот только зачем здесь первая таблица, непонятно...:)

Необходимо вывести всенаименования из 1-ой таблицы


Johnmen   (2006-03-09 10:34:00) [4]

Типа того
SELECT T1.Наименование, T2.Масса, T2.Дата
FROM Table1 T1, Table2 T2
WHERE (T1.Наименование=T2.Наименование) AND
 (T2.Дата=(SELECT MAX(T3.Дата) FROM Table2 T3 WHERE T2.Наименование=T3.Наименование))


вот только зачем здесь первая таблица, непонятно...:)


Наверх

Титульная страница Поиск, карта сайта Написать письмо