PDA

Prikaži potpunu verziju : SQL/MYSQL Queries...


Markonije
10.11.2012, 18:25
Ajde da otvorimo i ovu temicu :)

Interesuje me kako implementirati ovaj moj prohtev,ne treba mi konkretan kod vec kako je moguce to 'izvesti',vise teorijski gledano:

Recimo da imamo bazu sa vise tabela i da je baza namenjena evidenciji radnika njihovim platama,vreme dolaska na posao i slicno...
Ono tabela radnik,tabela sektor,tabela zanimanje,tabela grad.....,to bi klasican prmer iz knjiga za pocetnike u Sql-u you get the picture


E sad kako bi iz programa poslao upit koji bi mi vratio top 10 radnika po broju radnih casova za mesec maj iz grada Beograda?

Da li je uopste to moguce kroz jedan upit,bez koriscenja nekog 'sorta' i 'stackovanja rezulata'?

Ivan452
10.11.2012, 18:44
Pa u jednom upitu i mozes da imas sort (ORDER BY), u ovom slucaju i moras. A sta podrazumevas pod 'stackovanje rezultata' to nemam pojma.

Recimo da je stanje ovako:
Tabela Radnik:
- idRadnik
- ime
- idGrad

Tabela Grad:
- idGrad
- ime

Tabela Casovi
- idRadniCasovi
- datum
- broj(radnih casova)
- idRadnik

Onda uradis:
SELECT TOP 10 Radnik.ime, Grad.ime, SUM(Casovi.broj) AS Suma
FROM... (radis Joinove)
WHERE... (uslov za datum i grad)
GROUP BY...(sve kolone osim ove koja je rezultat agregatne funkcije)
ORDER BY Suma Desc

Ako se radnici evidentiraju preko tog programa, koji vrsi upis u bazu vreme dolaska na posao i vreme odlaska sa njega, onda se kolona Broj(radnih casova) moze smatrati nepotrebnom (jer se ta vrednost moze dobiti oduzimanjem vrednosti druge dve kolone). Grubo teoretski tabela ne treba da sadrzi tu kolonu, prakticno je drugacija prica.

MG-RAY
10.11.2012, 18:49
Većina SQL dijalekata (pretpostavljam da to hoćeš) podržava i sortiranje i grupisanje (pretpostavljam da si na to mislio kada si rekao stackovanje), pa u zavisnosti od relacija i normalnih formi može da se odradi.

Kako si sam rekao, ovo je početnički primer tako da pogledaj najbližu SQL knjigu. :opanachke

Markonije
10.11.2012, 18:57
Hvala na brzom odgovoru :)

@MG-RAY
Da mislio sam na to MG-RAY,i jeste boza nema sta al ja to trebam da implementiram u jedno tabelarnu 'krmachu' od baze,koja je punjena 6 meseci (dva saradnika i ja) i mora biti jedno tablearno zbog 'inputa',ma havarija

Aj provericu jel mi odgovara ovo resenje

Sad ne smem ni da kazem kako sam ja pokusao da resim to :o

Bilo je i petlji u konektovanom okruzenju sa parametrizovanim upitima :opanachke


@Ivan452

To sam uzeo kao primer da bi 'ti' mogao da mi odgovoris a ja da skontam,a gore u odgovoru MG-RAY sam rekao za kakavu bazu mi treba

Da dodam nisam znao sa koje strane da pridjem problemu al mislim da sad zahvaljuci tebi znam nacin :)