powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Кто силен в SQL
11 сообщений из 11, страница 1 из 1
Кто силен в SQL
    #32692953
Birjan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица "Rests"("Остатки товара"), в которой три столбца
(дата текущего остатка, код товара, количество товара):

date kod quantity
01.01.2004 1 5
01.01.2004 2 10
05.01.2004 3 12
05.02.2004 1 7
06.02.2004 3 9

Надо получить остатки по каждому товару на 07.02.2004,
т.е. должно получиться:
05.02.2004 1 7
01.01.2004 2 10
06.02.2004 3 9

Как это сделать одним запросом?
...
Рейтинг: 0 / 0
Кто силен в SQL
    #32692962
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Select * from Rests where date<='07.02.2004'
...
Рейтинг: 0 / 0
Кто силен в SQL
    #32692965
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одним не знаю как

Select
r.kod,
Max(quantity)--Или мин, без разницы
From
(
Select kod,max(date) date
From rests
group by kod
) r inner join rests on r.kod=rests.kod
group by r.kod

Ну и имена у тебя, хоть префиксы ставь, штоли
Поле date- это смело.
...
Рейтинг: 0 / 0
Кто силен в SQL
    #32692969
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Select t2.*
From
(Select max(date) as md, kod 
From Rests
Where date <= # 02 / 07 / 2004 #
Group By kod) as t1
Inner Join Rests t2
On t1.md = t2.date And t1.kod = t2.kod
?

+ А тепеть версия свой ПО скажи, а то вдруг не будет работать, потому-что у тоби Акс 97?

Да и ПРАВИЛА не плохо читать!!!
...
Рейтинг: 0 / 0
Кто силен в SQL
    #32692970
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл исчо where во внутреннем запросе с датой

Select
r.kod,
Max(quantity)--Или мин, без разницы
From
(
Select kod,max(date) date
From rests
where date<'20040207'
group by kod
) r inner join rests on r.kod=rests.kod
group by r.kod
...
Рейтинг: 0 / 0
Кто силен в SQL
    #32692978
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharkЗабыл исчо where во внутреннем запросе с датой

Select
r.kod,
Max(quantity)--Или мин, без разницы
From
(
Select kod,max(date) date
From rests
where date<'20040207'
group by kod
) r inner join rests on r.kod=rests.kod
group by r.kod
А еще забыл одно условие на соединение таблиц
И ваще, это синтаксисом от MSSQL пахнет - а чел. не говорил, что у него MSSQL

Вот
...
Рейтинг: 0 / 0
Кто силен в SQL
    #32693017
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>чел не говорил
Он это говорил в предыдущем посте;-)

Я седня не проснулся
Select
r.kod,
Max(quantity)--Или мин, без разницы
From
(
Select kod,max(date) date
From rests
where date<'20040207'
group by kod
) r inner join rests on r.kod=rests.kod and r.date=rests.date
group by r.kod

Если есть ключ код, date(что скорее всего) то папин вариант правильный
...
Рейтинг: 0 / 0
Кто силен в SQL
    #32693023
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор>чел не говорил
Он это говорил в предыдущем посте;-)
Не - ну если говорил, то не вопрос :)

Тогда в моем варианте надо дату в MSSQL формате прописать - чтобы ошибки не было - и должно рулить :)
...
Рейтинг: 0 / 0
Кто силен в SQL
    #32693027
Birjan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Накинулись насчет имени "Date".
Конечно, я зарезервированные слова не употребляю.
Просто задачу сильно упростил, чтобы суть была понятна.

А версия Access у меня 2000. (Выше я говорил, что у меня ADP).

Пробую сейчас, что вы мне насоветовали.
...
Рейтинг: 0 / 0
Кто силен в SQL
    #32693033
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тыр, мыр, тьфу кар
>в предыдущем посте
в смысле в предыдущем топике.
Мне седня только советы давать:^)
...
Рейтинг: 0 / 0
Кто силен в SQL
    #32693078
Guru_MSSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По моему так:

select a.date,
a.kod,
a.quantity
from Rests a
where a.date = (select max(b.date)
from Rests b
where a.kod=b.kod
and b.date<='20040207')
order by a.kod
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Кто силен в SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]