» »

[MySQL] pomoč pri queriju

[MySQL] pomoč pri queriju

iMark ::

Pozdravljeni,

Prosil bi za pomoč pri izvedbi naslednjega querija:
Okrnjena shema:
Drzave [ID, kontinent_ID, ime]
Kontinenti [ID, kontinent]
Uporabniki [ID]
Zbirka [ID, uporabnik_ID, drzava_ID, stevilo, album_ID]


Problem:
Želel bi izpisati vse elemente tabele Drzave, s tem, da v primeru, če tabela Zbirka vsebuje ID države (torej drzava_ID) izpiše še "stevilo", drugače pa v stolpec za stevilo vstavi "0". V pogoju mora biti tudi ujemanje uporabnika, torej če izpisujemo vsebino za uporabnika z ID=1, naj tudi iz tabele zbirka prebere le elemente, ki ustrezajo uporabniku s takim ID-jem.
Sam sem skušal na spodaj naveden način ampak se atribut "stevilo" izpise samo za 1. vnos v tabeli Zbirka, vse ostale drzave pa se izpišejo z ničlo v stolpcu.
SELECT drzave.ID, kontinenti.kontinent, drzave.ime, IF(zbirka.drzava_ID = drzave.ID AND zbirka.uporabnik_ID = 1, zbirka.stevilo, 0) 
FROM drzave, zbirka, uporabniki, kontinenti
WHERE uporabniki.ID = zbirka.uporabnik_ID
AND drzave.kontinent_ID = kontinenti.ID
AND zbirka.uporabnik_ID = 1


Poskušal sme tudi z ugnezdenimi selecti ampak mi je ugnezdena poizvedba vrnila več elementov kar je pomenilo da nisem mogel primerjati...
Kateri način bo pravi za tako poizvedbo?

Lep pozdrav in hvala.
  • spremenil: iMark ()

iMark ::

Ubistvu sm ugotovu da sem pravilno spisal query, le da bi moral še "distinct" uporabit. No...vsaj upam da ne bo problemov v nadalnje.

iMark ::

No ja... skoraj rešeno. Sedaj mi podvoji dražavo, ki se nahaja v zbirki; torej izpiše najprej državo x s številom 0 nato pa še isto državo s številom iz tabele zbirka.
Kakšen predlog?

kunigunda ::

INNER,OUTER,LEFT join...

iMark ::

Jp, left join did it :)
Hvala za pomoč.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

SQL vprasanje (strani: 1 2 )

Oddelek: Programiranje
688348 (5027) BivšiUser2
»

[SQL] Unikatni izpisi

Oddelek: Programiranje
212220 (1607) 111111111111
»

Baze ter relation med njimi

Oddelek: Programiranje
153334 (2895) Marat
»

PHP prikaz objav od prijateljev

Oddelek: Izdelava spletišč
7919 (726) Ziga Dolhar
»

baze podatkov

Oddelek: Programiranje
91563 (1482) urkrajnc

Več podobnih tem