Страница 1 из 1

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

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

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

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

Добавлено: 13 фев 2008, 10:38
Attid
думаю так

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

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

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

Добавлено: 13 фев 2008, 12:58
WildSery
Уже сам не можешь условия соединения дописать?
И так запрос проще некуда, ещё и разжевали.

Добавлено: 13 фев 2008, 14:54
AnryGTR
Ах да! Извиняюсь я чо-то не подумал об этом!
Я чуток подредактировал запрос и вроде пашет нормуль! Только подтормаживает в начале...а так нормально!
Спасибо Attid!

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

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

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