A.key, A.att1, A.att2,...
B.key, B.Akey, B.Akey2, B.att1, B.att2,...
(u tabeli B B.Akey i B.Akey2 predstavljaju FK-ove ka A.key obelezju iz tabele A)
Kako da izvuchem sve podatke (SELECT *) iz ove 2 tabele da budu zadovoljeni uslovi:
B.Akey = A.key i B.Akey2 = A.key i B.key = 1?
U tabeli B vrednost atributa B.Akey2 moze da bude NULL. (ako B.Akey2 nije NULL konkretno ce mi trebati A.att1, ako jeste NULL treba tako da se prikaze)
Sa mojim dosadasnjim iskustvom sam spajao tabele sa "," ali pretpostavljam da je ovde neophodno primeniti specijalan JOIN.
Resenje sa "," radi u slucaju da B.Akey2 nije NULL. Izgleda ovako:
Code:
SELECT * FROM B m,A n, A k
WHERE m.Akey=n.key AND m.Akey2=k.key AND m.key=1
SELECT * FROM B m,A n, A k
WHERE m.Akey=n.key AND m.Akey2=k.key AND m.key=1
Jedna analogija:
B.Akey i B.Akey2 predstavljaju JMBG, a A.att1 IMEPREZIME (A.att2 kucnu adresu).
Recimo da se radi o sudskom_sporu(tabela B), u kome je B.key sifra_spora; B.Akey JMBG tuzioca, B.Akey2 JMBG optuzenog; U tabeli A su gradjani. Recimo da se u tabeli B nalazi josh i B.Akey3 kao JMBG advokata
Hocu da izvucem sve podatke za spor 1 + da se pored JMBG-ova listaju i imeprezime tuzioca i optuzenog
Ako nisam bio potpuno jasan skrenite mi paznju na detalje koje treba da dopunim.
Pozdrav!