JOIN MySQL

JOIN MySQL

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Pozdrav svima. Vezbam JOIN, koji mi inace jako lose idu, pa bih kroz neke moje primere postavio par pitanja strucnjacima iz ove oblasti. Evo prvog primera:

Imam tabele:
proizvod
idProizvod, naziv_proizvod, proizvodjac, cena

konfiguracija
idKonfiguracija, serijski_broj

konfiguracija_proizvod
Konfiguracija_idKonfiguracija, Proizvod_idProizvod

E sad naslucujete sta hocu da uradim, tj da vidim koji proizvodi ulaze u odredjenu konfiguraciju. Ja uspevam da napisem jednostavne JOIN sa 2 tabele gde treba da se samo izjednace kljucevi i to je to, ali kad se pojavi jos jedna tabela koja treba da se pridruzi uz neki uslov tu mi je kraj Very Happy Evo kako sam ja izlistao sve proizvode svih konfiguracija sto postaje neupotrebljivo jer ja hocu proizvode jedne konfiguracije recimo one ciji jeidKonfiguracija = 3. Treba dodati negde ovu tabelu konfiguracija i reci WHERE idKonfiguracija = 3 , ali gde Very Happy Nadam se da me razumete i da cu ovako kroz konkretne primere najbolje nauciti. Procitao sam ja o JOIN dosta toga ali nista od toga dok ja to ne probam. Ovde nisam hteo da koristim alias imena da se nebih zbunjivao iako znam da je olaksica zbog pisanja ali evo sad ovako pa cu sledeci neki primer sa alijas imenima. Hvala unapred. Evo tog upita:

SELECT naziv_proizvoda FROM proizvod JOIN konfiguracija_proizvod ON konfiguracija_proizvod.Proizvod_idProizvod = proizvod.idProizvod



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Citat:
jeidKonfiguracija = 3. Treba dodati negde ovu tabelu konfiguracija i reci WHERE idKonfiguracija = 3 , ali gde

id konfiguracija ti se ne nalazi u spojenim tabelama, dakle spajas jos sa konfiguracija

SELECT naziv_proizvoda FROM proizvod JOIN konfiguracija_proizvod ON konfiguracija_proizvod.Proizvod_idProizvod = proizvod.idProizvod JOIN konfiguracija ON konfiguracija.idKonfiguracija = konfiguracija_proizvod.Konfiguracija_idKonfiguracija where idKonfiguracija = 3



offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Napisano: 04 Okt 2011 15:07

Koji sma levat, sad sam to probao i proradilo Very Happy Samo nisam radio 2x JOIN i sa ovim sam izlistao proizvode koji pripadaju idKonfiguracija 3

SELECT naziv_proizvoda FROM proizvod JOIN konfiguracija_proizvod ON konfiguracija_proizvod.Proizvod_idProizvod = proizvod.idProizvod WHERE konfiguracija_proizvod.Konfiguracija_idKonfiguracija =  '3'

Dopuna: 04 Okt 2011 15:09

U cemu je razlika ? Oba ova upita daju isto resenje, mada tvoje mi je nekako logicnije .

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

moze i tvoje, nisam video dobro tabelu, cinilo mi se da ti idKonfiguracija nije usla u JOIN a da ne znas da uradis dvostruki, da te to mucilo....

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Napisano: 04 Okt 2011 15:19

Hvala. Malo cu da se igram sa ovim pa mozda postavim jos jedan "problem" cupanja podataka sa raznim uslovima samo dok ga smislim Wink

Dopuna: 18 Okt 2011 15:38

Evo mene opet posle krace pauze. I dalje vezbam JOIN na ovoj istoj bazi za neku kao prodavnicu racunara samo sto sam sad malo zakomplikovao stvar i u opticaju je 5 tabela, evo kako izgledaju:

korisnik
idKor, ime, prezime

narudzba
idNar, sifra

korisnik_narudzba
idKor, idNar

proizvod
idProiz, nazivP

narudzba_proizvod
idNar, idPro

Da li mi je uopste potrebno svih ovih 5 tabela da bih saznao koji proizvodi pripadaju korisniku ciji je idKor recimo 1? Nemam uopste ideju kojim bi redosledom poceo da pridruzivam tabele i da izjednacavam id-ove?!?

Dopuna: 19 Okt 2011 0:29

Moram da se pohvalim da sam resio i ovja problem pa cu ga postaviti cim malo sredim upit i dodam ALIAS imena Wink

Ko je trenutno na forumu
 

Ukupno su 713 korisnika na forumu :: 1 registrovan, 2 sakrivenih i 710 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: opt1