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

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

Помогите сделать SQL запрос


tolians ©   (2006-03-06 04:26:00) 

Имеется 2 таблицы, первая "наименования"
структура таблицы такая:
Наименование

Вторая "остатки"

Наименование Масса Дата

Необходимо создать запрос по каждому наименованию продукции, на дату (дата вводится юзером). А если для этого наименование не встречается записи в таблице "остатки" на эту дату, нужно вывести запись на последнюю дату.


tolians   (2006-03-06 11:54:00) [1]

В общем мне надо сделать отчет остатков за период, со столбцами Остаки на начало периода Остатки на конец периодапериод задается пользователем


tolians   (2006-03-06 11:09:00) [2]

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


atruhin   (2006-03-06 05:30:00) [3]

Насколько я понял,
>>Что надо получить, если пользователь ввел
а) 01.01.06 - ничего
б) 02.02.06 - данные на 01.01.06
в) 04.02.06 - данные на 04.02.06
вообще такое применяется например для получения цен на товары, на определенную дату. (правда причем здесь Масса, не знаю:(


ЮЮ   (2006-03-06 05:17:00) [4]


> А если для этого наименование не встречается записи в таблице
> "остатки" на эту дату, нужно вывести запись на последнюю
> дату.
>

что значит на последнюю?
если есть данные на
01.02.06
03.02.06

Что надо получить, если пользователь ввел
а) 01.01.06
б) 02.02.06
в) 04.02.06
???

БД какая


atruhin   (2006-03-06 05:07:00) [5]

Первое ОБЯЗАТЕЛЬНО сделай суррогатное ключевое поле, т.е.
таблица - table1
ID, Наименование
Вторая "остатки" - table2
ID, NAMEREF, Масса, Дата
Второе
Select distinct
  Наименование,
  (select Масса from table2 t where table1.ID=t.nameref and Дата <= :CDATE)
from table1 join Table 2 on table1.id = table2.nameref


Наверх

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