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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
2-1207419208
AndrewG
2008-04-05 22:13
2008.05.04
Копирование


15-1206107308
Поп Гапон
2008-03-21 16:48
2008.05.04
GDI+ и Delphi


2-1207560786
Ri2008
2008-04-07 13:33
2008.05.04
Странная ошибка


2-1207486169
dumka
2008-04-06 16:49
2008.05.04
Канва


2-1207655460
molodoi
2008-04-08 15:51
2008.05.04
Проблема с динамическим добавлением полей





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