Pozdravi doticnog umetnika kada ga budes video, nadam se da je presao u slikare ili nesto slicno sto ne zahteva preterano umno naprezanje vec samo talenat i inspiraciju (ne omalovazavam slikare) ;)
Evo ti primer za prvih 16 jela, upit je toliko sistemski zahtevan da se kod mene zakuca kada je vise od 16 jela:
Code:
SELECT SUM(Nz(Kal1, 0) + Nz(Kal2, 0) + Nz(Kal3, 0) + Nz(Kal4, 0) + Nz(Kal5, 0) + Nz(Kal6, 0) + Nz(Kal7, 0) + Nz(Kal8, 0) + Nz(Kal9, 0) + Nz(Kal10, 0) + Nz(Kal11, 0) + Nz(Kal12, 0) + Nz(Kal13, 0) + Nz(Kal14, 0) + Nz(Kal15, 0) + Nz(Kal16, 0)) AS KalVred
FROM (((((((((((((((gotove_dijete
LEFT JOIN (SELECT SUM(Kcal) AS Kal1, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J1 ON gotove_dijete.jelo1 = J1.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal2, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J2 ON gotove_dijete.jelo2 = J2.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal3, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J3 ON gotove_dijete.jelo3 = J3.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal4, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J4 ON gotove_dijete.jelo4 = J4.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal5, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J5 ON gotove_dijete.jelo5 = J5.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal6, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J6 ON gotove_dijete.jelo6 = J6.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal7, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J7 ON gotove_dijete.jelo7 = J7.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal8, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J8 ON gotove_dijete.jelo8 = J8.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal9, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J9 ON gotove_dijete.jelo9 = J9.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal10, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J10 ON gotove_dijete.jelo10 = J10.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal11, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J11 ON gotove_dijete.jelo11 = J11.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal12, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J12 ON gotove_dijete.jelo12 = J12.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal13, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J13 ON gotove_dijete.jelo13 = J13.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal14, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J14 ON gotove_dijete.jelo14 = J14.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal15, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J15 ON gotove_dijete.jelo15 = J15.NazivJela)
LEFT JOIN (SELECT SUM(Kcal) AS Kal16, [Naziv jela] AS NazivJela FROM (SELECT DISTINCT Kcal, [naziv jela], Namirnice FROM JELOVNIK) AS QNam GROUP BY [Naziv jela]) AS J16 ON gotove_dijete.jelo16 = J16.NazivJela
WHERE gotove_dijete.Datum = #1/31/2007#
Ovo ti je primer za dijete na 31. januar 2007. Najveci problem je pravilo to sto se isto jelo pojavljuje u tabeli jelovnik za istu dijetu i za obrok "rucak" i za obrok "veceru", pa je morao dodatni DISTINCT po namirnicama. Dakle, ovo ti je zbir kalorija za namirnice iz svih jela koja su u dijetama na odredjeni datum. ODVRATNO !!!
Ako imas neku zver od racunara, prosiri upit na ostala jela do 23 (Boze me sacuvaj, koji dizajn).
Inace, koji si ti bio optimista kad si u par recenica postavio inicijalno pitanje, a na kraju ispadose i obroci i ....
Ubuduce odmah stavljaj bazu, ustedecemo bar 24 sata (koliko je potroseno za ovaj topik).
Pozdrav!