[ Wlada @ 20.02.2005. 14:10 ] @
Ako imam ove tri tabele:
Klijenti: KlijentID,Naziv,Adresa,Kontakt
Prodaja: ProdajaID,Ugovor,Datum,KlijentID
StavkeProdaje: SPID,ProdajaID,Roba,Kolicina

kako da napravim data report takav da mi za svakog klijenta prikaze sve prodaje i za svaku od tih

prodaja stavke prodaje. Nesto ovako:

Klijent1

Prodaja1-Klijenta1

StavkaProdaje1-Prodaje1-Klijenta1
StavkaProdaje2-Prodaje1-Klijenta1
StavkaProdaje3-Prodaje1-Klijenta1

Prodaja2klijenta1

StavkaProdaje1-Prodaje2-Klijenta1
StavkaProdaje2-Prodaje2-Klijenta1
StavkaProdaje3-Prodaje2-Klijenta1

Klijent2

Prodaja1-Klijenta2

StavkaProdaje1-Prodaje1-Klijenta2
StavkaProdaje2-Prodaje1-Klijenta2
StavkaProdaje3-Prodaje1-Klijenta2
itd...
[ mladenovicz @ 20.02.2005. 15:56 ] @
Treba da na report dodas group sekcije (Insert Group Header/Footer Section) a podatke treba da grupises sa GROUP BY (pogledaj u top temi tutorial za SQL)
[ Wlada @ 21.02.2005. 08:53 ] @
Ako si mislio na ADO tutorijal korak po korak 2. lekciju, tamo je obajšnjeno sve osim group by i having. :( Ako nije problem da se posalje neki primer ili neki link za ovaj nacin rada sa grupisanjem.
[ mladenovicz @ 21.02.2005. 11:34 ] @
Mislim da ce ti iz ovoga biti jasno. Ili probaj na Googleu (ili MSDNu) keyword: GROUP BY CLAUSE
[ Wlada @ 21.02.2005. 22:40 ] @
Ja mora da sam glup, ali nikako ne shvatam kako se ovo radi. Ima li neko neki primer sa ovakvim grananjem.
[ Pulapola @ 22.02.2005. 15:31 ] @
Možda ti pomogne,

Svi klijenti (sve prodaje)
Code:
SELECT Prodaja.KlijentID, StavkeProdaje.ProdajaID, StavkeProdaje.Roba, StavkeProdaje.Kolicina
FROM (Klijenti INNER JOIN Prodaja ON Klijenti.KlijentID = Prodaja.KlijentID) INNER JOIN StavkeProdaje ON Prodaja.ProdajaID = StavkeProdaje.ProdajaID;


Samo klijent 2
Code:
SELECT Prodaja.KlijentID, StavkeProdaje.ProdajaID, StavkeProdaje.Roba, StavkeProdaje.Kolicina
FROM (Klijenti INNER JOIN Prodaja ON Klijenti.KlijentID = Prodaja.KlijentID) INNER JOIN StavkeProdaje ON Prodaja.ProdajaID = StavkeProdaje.ProdajaID
WHERE (((StavkeProdaje.ProdajaID)=2));


Group svi klijenti
Code:
SELECT StavkeProdaje.ProdajaID, StavkeProdaje.Roba, StavkeProdaje.Kolicina
FROM (Klijenti INNER JOIN Prodaja ON Klijenti.KlijentID = Prodaja.KlijentID) INNER JOIN StavkeProdaje ON Prodaja.ProdajaID = StavkeProdaje.ProdajaID
GROUP BY StavkeProdaje.ProdajaID, StavkeProdaje.Roba, StavkeProdaje.Kolicina, Prodaja.KlijentID;


Group samo klijent2
Code:
SELECT StavkeProdaje.ProdajaID, StavkeProdaje.Roba, StavkeProdaje.Kolicina
FROM (Klijenti INNER JOIN Prodaja ON Klijenti.KlijentID = Prodaja.KlijentID) INNER JOIN StavkeProdaje ON Prodaja.ProdajaID = StavkeProdaje.ProdajaID
GROUP BY StavkeProdaje.ProdajaID, StavkeProdaje.Roba, StavkeProdaje.Kolicina, Prodaja.KlijentID
HAVING (((Prodaja.KlijentID)=2));


Pozdrav
[ Wlada @ 22.02.2005. 18:15 ] @
Hvala svima na odgovorima, ali resenje je mnogo banalnije nego sto sam ja mislio. Naime kada ovo grupisem u Data Environmentu onda imam mogucnost postavljanja parametra koji mi pomaze da resim odredjenog klijenta. A Data Report ima mogucnost automatskog preuzimanja grupisanja iz Data Environmenta. U svakom slucaju i ovaj SQL upit je veoma zanimljiv jer ne verujem da bas svuda mogu da koristim Data environment.

Pozdrav.