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

Вниз

Ребят ну помогите сделать этот Запрос   Найти похожие ветки 

 
tolians   (2006-03-09 07:32) [0]

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

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

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

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

<Цитата>

--------------------------------------------------------------------------------
atruhin ©   (06.03.06 05:07) [1]
Первое ОБЯЗАТЕЛЬНО сделай суррогатное ключевое поле, т.е.
таблица - 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

<Цитата>

--------------------------------------------------------------------------------
ЮЮ ©   (06.03.06 05:17) [2]

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

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

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

БД какая

<Цитата>

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

<Цитата>

--------------------------------------------------------------------------------
tolians   (06.03.06 11:09) [4]
Если пользователь ввел 03,02,06 то надо вывести все что есть на 03,02,06 а если для этой даты ничего нет для конкретного наименования то надо вывести для этого наименования за 02,02,06 и так далее

--------------------------------------------------------------------------------
tolians   (06.03.06 11:54) [5]
В общем мне надо сделать отчет остатков за период, со столбцами Остаки на начало периода Остатки на конец периода период задается пользователем

Ключевые поля у меня есть, только не ID а №

<Цитата>


 
_RusLAN ©   (2006-03-09 10:51) [1]

примерно так:

select Наименование
from table1 t1
join table2 t2 on t2.№_Наименование = t1.№
 and t2.Дата = (select max(t2_2.Дата)
                from table2 t2_2
                where t2_2.Дата <= :UserData
                  and t2_2.№_Наименование = t2.№_Наименование
               )


 
Гость111   (2006-03-09 11:20) [2]

А что такое t2_2


 
Desdechado ©   (2006-03-09 11:24) [3]

это псевдоним


 
Гость111   (2006-03-09 11:29) [4]

Боюсь спрашивать, а что такое псевдоним(в sql) и как его создать. Ну я только начинаю изучать.


 
Sergey13 ©   (2006-03-09 11:33) [5]

2 [4] Гость111   (09.03.06 11:29)
> Ну я только начинаю изучать.
За такое изучение и РО не долго получить. 8-)
Книжки не пробовал читать?


 
Плохиш ©   (2006-03-09 11:34) [6]


> Гость111   (09.03.06 11:29) [4]


>  from table2 t2_2

Начни наконец читать книжки.


 
Гость111   (2006-03-09 11:38) [7]

Хорошо, я закзал книженцию, но мне ее еще не скоро доставят. Только не ругайтесь.  Спасибо всем за помощь.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.051 c
2-1141978706
stud
2006-03-10 11:18
2006.03.26
ошибка при выполнении командного файла из приложения


1-1140514864
KyRo
2006-02-21 12:41
2006.03.26
Case для строк


15-1141567477
Nick Denry
2006-03-05 17:04
2006.03.26
Подскажите где найти описание FastDIB


2-1142226931
Rubey
2006-03-13 08:15
2006.03.26
Текущая строка в STRINGGRID


15-1141105932
Ega23
2006-02-28 08:52
2006.03.26
С Днём рождения! 28 февраля





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский