Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.04;
Скачать: CL | DM;

Вниз

Запросы   Найти похожие ветки 

 
dumka   (2008-04-09 13:03) [0]

Привет всем!
Нужно: вычислить суммарную стоимость последнего по времени(Дата) заказа. Если таких закзов несколько, то из них нужно выбрать заказ с найбольшим идентификатором.
SELECT Sum([Kol_blud]*[stoim]) AS Выражение1, Zakaz.Data, Zakaz.Kod_zak_ka
FROM Bludo INNER JOIN Zakaz ON Bludo.Kod_bl = Zakaz.Kod_bl
GROUP BY Zakaz.Data, Zakaz.Kod_zak_ka
HAVING (((Zakaz.Data)=(Select Max([Data]) from zakaz)));
Вот до сель работает, как реализовать второе условие?
СУБД ACCESS 2007


 
Sergey13 ©   (2008-04-09 13:13) [1]

> [0] dumka   (09.04.08 13:03)
> Если таких закзов несколько, то из них нужно выбрать заказ
> с найбольшим идентификатором.

Ну так и выбирай сразу по максимальному идентификатору. Зачем дату сюда пивлекать?


 
dumka   (2008-04-09 13:17) [2]

Нет, вот такое условие и дата максимальная и идентификатор максимальный


 
Sergey13 ©   (2008-04-09 13:19) [3]

> [2] dumka   (09.04.08 13:17)

А может быть максимальный идентификатор с НЕ максимальной датой?


 
Kolan ©   (2008-04-09 13:20) [4]

> и дата максимальная и идентификатор

Используй AND


 
Kolan ©   (2008-04-09 13:21) [5]

> А может быть максимальный идентификатор с НЕ максимальной
> датой?

Может. Например SQLite, если авто инкрементить уже некуда будет заполнять имеющиеся пробелы в нумерации&#133


 
Sergey13 ©   (2008-04-09 13:24) [6]

> [5] Kolan ©   (09.04.08 13:21)

Я не вообще спросил, а конкретного человека про конкретную БД. Понятно, что "вообше" Ид-шники с датами никак не связаны.


 
dumka   (2008-04-09 13:24) [7]

SELECT Sum([Kol_blud]*[stoim]) AS Выражение1, Zakaz.Data, Zakaz.Kod_zak_ka
FROM Bludo INNER JOIN Zakaz ON Bludo.Kod_bl = Zakaz.Kod_bl
GROUP BY Zakaz.Data, Zakaz.Kod_zak_ka
HAVING (((Zakaz.Data)=(Select Max([Data]) from zakaz)) and ((Zakaz.Kod_zak_ka)=(Select Max([Kod_zak_ka]) from zakaz)));
Так вот я сделала вот так, отбора нет, но и ошибки нет.


 
dumka   (2008-04-09 13:27) [8]


> А может быть максимальный идентификатор с НЕ максимальной
> датой?

Я думаю что да, такое условие, может это только ловушка.
Но я такую ситуацию справоцировала, т.е. так заполнила данные


 
Sergey13 ©   (2008-04-09 13:33) [9]

> [8] dumka   (09.04.08 13:27)

Если так можно провоцировать и заполнять вручную чем угодно (сейчас ИШ придет ругаться 8-)) то логично предположить несколько заказов с одинаковыми идентификаторами. 8-)


 
Palladin ©   (2008-04-09 13:36) [10]


> dumka   (09.04.08 13:24) [7]

остальсь еще одно условие добавить в Select Max([Kod_zak_ka]) from zakaz
и убрать все из having"а в where и sum тоже убрать, если Sergey13 ©   (09.04.08 13:33) [9] не прав относительно уникальности идентификаторов заказов, если прав, то сум оставить :)


 
Palladin ©   (2008-04-09 13:40) [11]

select sum(Kol_blud*stoim), Zakaz.Data, Zakaz.Kod_zak_ka
from Bludo,Zakaz
where
Bludo.Kod_bl=Zakaz.Kod_bl and
zakaz.kod_zak_ka=(Select Max(kod_zak_ka) from zakaz where Zakaz.Data=(select max(Data) from Zakaz))
group by Zakaz.Data, Zakaz.Kod_zak_ka

наслаждайся...


 
clickmaker ©   (2008-04-09 13:44) [12]

блин, не сразу сообразил что такое bludo
думаю, что за "блудозаказ" такой? ))


 
dumka   (2008-04-09 13:44) [13]

Во всяком случае спасибо,я подумаю


 
Kolan ©   (2008-04-09 13:45) [14]

> блин, не сразу сообразил что такое bludo

Угу, даже таблица в БД называется неопититно, наверно еда еще хуже&#133


 
dumka   (2008-04-09 13:51) [15]


> Palladin

Обалдеть, работает!!!


 
Palladin ©   (2008-04-09 13:58) [16]

кто бы сомневался... а если еще поймешь этот запрос, вообще молодцом будешь... значит не все потеряно еще...


 
dumka   (2008-04-09 14:05) [17]


> Palladin

Да, все мне понятно.
МЫ молодцы...



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

Текущий архив: 2008.05.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.14 c
2-1207544713
Андрей
2008-04-07 09:05
2008.05.04
Процедура копирования папки с поддиректориями и файлами


15-1205784808
{RASkov}
2008-03-17 23:13
2008.05.04
NoteBook и WinXP


2-1207587747
assassin8899
2008-04-07 21:02
2008.05.04
добавление в DBGrid


15-1206283466
Илья
2008-03-23 17:44
2008.05.04
Подскажите, как можно перехватить все запускающиеся приложения?


15-1206368870
asdf2
2008-03-24 17:27
2008.05.04
Беспроводная связь.