![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите сделать 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