Чертов запрос!

Модераторы: kdv, CyberMax

Ответить
AnryGTR
Сообщения: 116
Зарегистрирован: 15 янв 2007, 15:58

Чертов запрос!

Сообщение AnryGTR » 13 фев 2008, 09:41

Здравствуйте всем!
Давненько я здесь не появлялся...
Но вот опять у меня трабла млин...Объясню по порядку.
Есть следующие таблицы:

USLIGA (id, name, ...) - услуги
MATERIALS (id, name,...) - справочник расходных материалов
ZAKAZ (id, id_usluga, data, ... ) - заказы
RASXOD (id_material, id_usluga, cnt ) - таблица расходов по услугам

Один и тот же материал(materials) может использоваться в нескольких услугах(Usluga) причем в разных количествах (cnt)!
вот я уже третий день мучаюсь никак не могу сделать такой запрос-отчёт: нужно сделать запрос выводящий перечень всех расходных материалов с колонкой общего потраченного количества каждого из них за определённый выбранный период...Вроде рядом хожу но все равно неверный результат получается!
Этот форум не раз выручал меня, надеюсь и в этот раз меня выручат уважаемые гуру!
Заранее спасибо всем кто откликнется! ;-)

Attid
Спец
Сообщения: 377
Зарегистрирован: 14 ноя 2006, 09:58

Сообщение Attid » 13 фев 2008, 10:38

думаю так

Код: Выделить всё

select m.name , sum (r.cnt) 
from MATERIALS m
join  ZAKAZ z
join RASXOD r
where z.data between dt1 and dt2
grope by m.name

AnryGTR
Сообщения: 116
Зарегистрирован: 15 янв 2007, 15:58

Сообщение AnryGTR » 13 фев 2008, 10:53

привет!
чо-то твой запрос вообще не пашет...:-(
и лично мне соединения (джойны) твои непонятны а где условия их соединения?
ИЛи я чо-то не догоняю? Но все равно спасибо что ответил! ;-)

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 13 фев 2008, 12:58

Уже сам не можешь условия соединения дописать?
И так запрос проще некуда, ещё и разжевали.

AnryGTR
Сообщения: 116
Зарегистрирован: 15 янв 2007, 15:58

Сообщение AnryGTR » 13 фев 2008, 14:54

Ах да! Извиняюсь я чо-то не подумал об этом!
Я чуток подредактировал запрос и вроде пашет нормуль! Только подтормаживает в начале...а так нормально!
Спасибо Attid!

Attid
Спец
Сообщения: 377
Зарегистрирован: 14 ноя 2006, 09:58

Сообщение Attid » 13 фев 2008, 16:24

AnryGTR писал(а):Только подтормаживает в начале...а так нормально!
вначале это как ? при первых 20 записей ? внешнии ключи проверь.
можно еще индекс по датам добавить, хотя если запрос и план покажешь может оказаться что +0 в одном из джойнов спасет

AnryGTR
Сообщения: 116
Зарегистрирован: 15 янв 2007, 15:58

Сообщение AnryGTR » 15 фев 2008, 07:23

Не... не в этом смысле!
вот первый раз запустишь отчет на выполнение - чуток думает, подтормаживает - особенно на слабых пнях...а второй и третий раз уже когда пускаешь даже с другими периодами (датами), то все нормально уже быстрее выдает резалты - видать как-то кэширует чтоли... хз...а так нормально!

Ещё раз спасибо! :wink:

Ответить