|
SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
|
Alati teme | Način prikaza |
12. 02. 2007. | #1 |
profesionalac
Qualified
|
Po jedan red iz vezne tabele (umesto vise...blah)
Al sam srocio... nego, sta me muci:
Imam neki model podataka, gde postoji tabela Izvestaj, TipDogadjaja i IzvestajTipDogadjaja (za vise prema vise). Tip dogadjaja je sifarnik. Ako jedan izvestaj ima vise dogadjaja, normalno, imam vise upisa u veznu tabelu, tipa: izvestajID|tipdogadjajaID 1 |2 1 |4 1 |8 ------------------------ Ono sto pokusavam jeste da prilikom pretrage po tipu dogadjaja, za vrednosti recimo 2 i 8 (na primer, to su Havarija i Poplava), ne dobijem dva reda za isti izvestaj, vec jedan, da bih ga tako i prikazao direktno. Ja sam dosao do zakljucka da to ne mogu dobiti iz cistog sql-a (iako se nikako ne mogu pohvaliti znanjemistog), pa bih voleo da me demantujete. Ako ne, na koji nacin to najefikasnije resavate kroz serverski kod? |
12. 02. 2007. | #2 |
Miljan Karadzic
Certified
|
Ako sam te dobro razumeo, mozes recimo da koristis distinct funkciju.
SELECT DISTINCT(izvestajID) FROM tabela WHERE tipdogadjajaID IN (2, 8); Poslednja izmena od caiser : 12. 02. 2007. u 20:38. |
12. 02. 2007. | #3 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
Ili tako, ili da grupises po nekom polju koje se ne menja (izvestajID npr)
SELECT ... FROM ... WHERE tipdogadjajaID IN (2, 8) GROUP BY izvestajID ali bih i ja koristio caiserovo resenje.
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams |
12. 02. 2007. | #4 |
profesionalac
Qualified
|
Ok, probacu sutra to.
Mada sam malo skeptican, jer trebam da povucem inner join-om jos neke podatke iz drugih tabela. | IzvestajID | Grad | Datum | Radnik(ko je pisao)| |
14. 02. 2007. | #5 |
profesionalac
Qualified
|
Super, ovo sa DISTINCT mi radi.
Evo kako sam sklepao ceo query: Kôd:
SELECT DISTINCT (Izvestaj.IzvestajID) AS Izvestaj, REGION.NazivRegiona, Izvestaj.Datum, Izvestaj.IzvestajID, Sum(TipDogadjajaPoIzvestaju.Kolicina) AS BrojDogadjaja FROM TipDogadjaja INNER JOIN (REGION INNER JOIN (Izvestaj INNER JOIN TipDogadjajaPoIzvestaju ON Izvestaj.IzvestajID = TipDogadjajaPoIzvestaju.IzvestajID) ON REGION.RegionId = Izvestaj.RegionID) ON TipDogadjaja.TipDogadjajaID = TipDogadjajaPoIzvestaju.TipDogadjajaID WHERE ((TipDogadjajaPoIzvestaju.TipDogadjajaID) In (2,8)) GROUP BY REGION.NazivRegiona, Izvestaj.Datum, Izvestaj.IzvestajID; Jos jedna stvar me interesuje. Naleteo sam na ovaj text gde tip objasnjava neku "tehniku" sa GROUP BY naredbom, i izgleda mi ok, samo ne kapiram bas kako bi kod mene to uglavio, a sve mi se cini da bi moglo ? Hvala puno. Poslednja izmena od andrej : 14. 02. 2007. u 21:36. |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Vise domena za jedan sajt sa aspekta SEO | bokacbl | Marketing i SEO | 7 | 08. 02. 2011. 13:03 |
Undo umesto Are you sure? | ivanhoe | PHP | 17 | 20. 08. 2009. 16:51 |
SEO pitanje: vise domena za jedan sajt | Mikky | Marketing i SEO | 2 | 19. 08. 2009. 02:55 |
Umesto tag-a H, slika | blogowski | (X)HTML, JavaScript, DHTML, XML, CSS | 13 | 11. 05. 2006. 13:59 |
Jedan sajt, na vise domena | presretach | Marketing i SEO | 5 | 11. 01. 2006. 21:02 |