Показать сообщение отдельно
Старый 24.08.2006, 13:39     # 12
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
uerter:
хм .... да но вложеные запросы лучше избегать ... так как они жутко все тормозят
Не больше чем 2 таких же запроса последовательно.

Цитата:
uerter:
возвращаемся к нашим баранам ))
Ну что-то подобное должно быть:
Код:
SELECT DISTINCT h2.*,
	(
	SELECT sum(`H-totaltime`)
	FROM `Hourregistration` as h3
	WHERE	h3.`H-deleted`='1'
		 AND h3.`H-G-ID`=h1.`H-G-ID`
		 AND h3.`H-date`=h1.`H-date`
		 AND h3.`H-esf`=1
	) as `Sum1_H_esf1`,
	(
	SELECT sum(`H-totaltime`)
	FROM `Hourregistration` as h3
	WHERE	h3.`H-deleted`='1'
		 AND h3.`H-G-ID`=h1.`H-G-ID`
		 AND h3.`H-date`=h1.`H-date`
		 AND h3.`H-esf`=0
	) as `Sum2_H_esf0`
FROM	`Hourregistration`as h1 INNER JOIN
	`Hourregistration`as h2 ON (h2.`H-date` = h1.`H-date` AND h2.`H-deleted` = '1' AND h2.`H-G-ID`=h1.`H-G-ID`)
WHERE h1.`H-deleted`='1' && h1.`H-G-ID`='14'

Цитата:
uerter:
можно ли что-то такое сделать как for each ну или чо-то в роде того в самом запросе
Можно. На серверных курсорах. Но, этого строго не рекомендуется делать, если можно обойтись запросами на уровне наборов данных, типа решения выше.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума