Главная страница
    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.041 c
2-1142114101
ctudent
2006-03-12 00:55
2006.03.26
Как сделать?


1-1140428731
Ega23
2006-02-20 12:45
2006.03.26
Активизация/Деактивизация Frame


3-1138806707
Serg2103
2006-02-01 18:11
2006.03.26
SCOPE_IDENTITY() не всегда корректно выполняется


15-1141544457
Новичоккк
2006-03-05 10:40
2006.03.26
Коды мнемоник


2-1141986651
1й2ц3у4к5е
2006-03-10 13:30
2006.03.26
Тип Делфи





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