Цитата:
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 ну или чо-то в роде того в самом запросе
|
Можно. На серверных курсорах. Но, этого строго не рекомендуется делать, если можно обойтись запросами на уровне наборов данных, типа решения выше.