Šta je novo?

Logika povezivanja dve SQL tabele

Neky

Slavan
Učlanjen(a)
01.10.2007
Poruke
918
Poena
330
Hejhej drugari,

naleteo sam na mali problem u ovom mom projektu kroz koji učim. Problem je sledeći: u bazi se nalaze dve tabele, neka se zovu tab1 i tab2. Tab1 sadrži X redova sa Y kolona. Jedna od tih kolona je broj BR123. Tab2 sadrži M redova sa N kolona. Jedna od tih kolona je takođe broj BR123

Ono što ja treba da uradim je da iz Tab1 uzmem kolonu IME, a iz Tab2 kolone broj,datum,vreme. Zajednička im je kolona broj, taj broj je isti.

Šta raditi u ovakvim slučajevima? Za kod ću se snaći, nego me interesuje logika. SQL nisam učio u školi, nemam nikakvo predznanje. Uhvatio sam se projekta i kroz njega učim.
 
select A.IME, B.broj, B.datum, B.vreme from TAB1 A, TAB2 B
where A.BR123 = B.BR123;
 
Hvala mnogo na odgovoru, pokušaću :)
 
SELECT Tab1.Ime,Tab2.Broj,Tab2.Datum,Tab2.Vreme FROM Tab1 INNER JOIN Tab2 ON Tab1.BR123=Tab2.BR123
 
Hvala i tebi rankozaric, rešio sam problem.
 
brate ako ti je ovo problem bataljuj na vreme ;)
 
Meni nije bio problem izguglati kod, nego sam mislio da moram da pravim tabele sa foreign ključevima za to što meni treba. Zato sam pitao koja je logika tako nečega. SQL za sada nisam učio u školi, a da čitam XYZ strana zbog jednog queryja koji mi treba na jednom mestu...

Ispostavilo se da mi ne trebaju foreign ključevi ( da su mi trebali onda bih tražio PDF i čitao ) i da ne moram da brišem tabele itd itd.

Ja ne odustajem.
 
ne odustaj. Mare sledeci put konkretno pomozi coveku umesto komantara "bataljuj na vreme!"
 
Izbegavaj pisati ovakva spajanja, kad upit postane malo slozeniji postaje ne pregledan (from TAB1 A, TAB2 B). Probaj uvek da stavis tacno koje spajanje se radi (inner, left, cross, left, right...) i uvek navodi odakle je kolona tj. iz koje tabele tipa A.Number...
 
Prilikom spajanja sa nekim od join-ova ukoliko postoje identična imena kolona u tabeli, potrebno je tačka notacijom definisati koje se kolone ispisuju, jer u mnogim SQL okruženjima takav upit se neće izvršti. Npr. DB2, Oracle itd...
 
^ Pa to je valjda osnovno pravilo lepog ponasanja u programiranju. Ako ni zbog cega drugog, onda zbog dokumentovanja koda. Da se iz aviona vidi sta je pisac, tj. programer, hteo da kaze.

Pozdrav
 
Sve je to sad mnogo jasnije drugari, kad sam odslušao Strukture baza podataka i ono, nema potrebe za nastavkom :)
 
Nazad
Vrh Dno