miha
Čuven
- Učlanjen(a)
- 12.01.2002
- Poruke
- 786
- Poena
- 620
tabelaA: cola1, cola2, cola3, cola4
tabelaB: colb1, colb2
tabelaC: colc1, colc2
Hocu da u kao rezulat dobijem: cola1, cola2, colb2, colc2, gde su naravno tabelaA i tabelaB povezane preko cola3=colb1 i tabelaA i tabelaC cola4=colc1. Hocu da prikazem sve rekorde iz tabelaA iako po neki podatak fali u tabelaB ili u tabelaC.
Znaci treba mi outer join. E sada kada ja koristim left join dva puta, dobijem dekartov proizvod 🙁
Znaci ovo radi:
ali ovo ne radi (tj. radi ali dobijem Dekartov proizvod tj. cross-join):
Nesto propustam... :wall:
tabelaB: colb1, colb2
tabelaC: colc1, colc2
Hocu da u kao rezulat dobijem: cola1, cola2, colb2, colc2, gde su naravno tabelaA i tabelaB povezane preko cola3=colb1 i tabelaA i tabelaC cola4=colc1. Hocu da prikazem sve rekorde iz tabelaA iako po neki podatak fali u tabelaB ili u tabelaC.
Znaci treba mi outer join. E sada kada ja koristim left join dva puta, dobijem dekartov proizvod 🙁
Znaci ovo radi:
Kod:
select * from tabelaA
left join tabelaB
on tabelaA.cola3 = tabelaB.colb1;
Kod:
select * from tabelaA
left join tabelaB
on tabelaA.cola3 = tabelaB.colb1
left join tabelaC
on tabelaA.cola4 = tabelaC.colc1;
Nesto propustam... :wall:
Poslednja izmena: