Главная страница
    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.038 c
15-1141205838
Pazitron_Brain
2006-03-01 12:37
2006.03.26
Учебник по Турбо Паскалю. Немнюгин.


15-1141720957
Хинт
2006-03-07 11:42
2006.03.26
Проверить строку на наличие кириллицы (php)


15-1141454525
guru-ru
2006-03-04 09:42
2006.03.26
Пример.


2-1141663768
Arazel
2006-03-06 19:49
2006.03.26
IDAPI: Как вставить новую запись? С Автоинкрементом?


15-1141306452
Amerzone
2006-03-02 16:34
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский