Autor | Zpráva | ||
---|---|---|---|
Kubii Profil * |
#1 · Zasláno: 24. 8. 2009, 10:39:25
Zdravim, mam dve tabulky: produkt a ekvivalent.
Produkt ma nejaky kod, podla ktoreho cez LIKE s obojstrannym wildcardom vyberam jeden alebo viac produktov, ktore matchuju na danu cast kodu. Chcel by som mat pri kazdom riadku aj stlpec pocet, ktora by zratala pocet ekvivalentov. (tabulka ekvivalentov je zlozena z ID1, ID2). V sucasnosti mam cca takyto kod: SELECT katalog.*, COUNT(ID2) AS 'pocet' FROM katalog, ekvivalent WHERE katalog.kod LIKE '%mm%' AND katalog.id = ekvivalent.ID1 GROUP BY id Vsetko je fajn, problem nastane len vtedy, ked produkt nema ani jeden ekvivalent. Vtedy chcem, aby mi vratil klasicky row z tabulky produkt s informaciami a pocet 0, ale to sa nestane. Pomoze mi s tym prosim niekto? Postacil by mi aj len samotny query, ale ak k tomu bude aj trosku teorie, len to ocenim. Vdaka vopred. |
||
Taps Profil |
#2 · Zasláno: 24. 8. 2009, 10:59:54 · Upravil/a: Taps
Kubii
zkus to přes left join SELECT k.*, COUNT(k.ID2) AS 'pocet' FROM katalog k left join ekvivalent e on k.id = e.ID1 WHERE k.kod LIKE '%mm%' GROUP BY k.id |
||
Kubii Profil * |
#3 · Zasláno: 24. 8. 2009, 11:11:01
Genialne, funguje to! Vdaka... To by ma zaujimalo kde bol pes zakopany, ale vidim, ze musim sa poriadne naucit JOINy.. :)
|
||
Časová prodleva: 15 let
|
0