Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

JOIN u slucaju da je vrednost nekada null

[es] :: Baze podataka :: JOIN u slucaju da je vrednost nekada null

[ Pregleda: 2013 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tokajac

Član broj: 93240
Poruke: 123
89.216.113.*



+5 Profil

icon JOIN u slucaju da je vrednost nekada null28.01.2008. u 14:36 - pre 197 meseci
Imam tabele A, B.

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


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!






 
Odgovor na temu

M E N E
borislav
Temerin

Član broj: 30434
Poruke: 231
*.nspoint.net.



+1 Profil

icon Re: JOIN u slucaju da je vrednost nekada null28.01.2008. u 14:58 - pre 197 meseci
SELECT B.key, A1.key, A1.att1, A1.att2, A2.key, A2.att1, A2.att2
FROM B
LEFT OUTER JOIN A as A1 on B.Akey=A1.key
LEFT OUTER JOIN A as A2 on B.AKey1=A2.key
WHERE B.key = @kljucSudskogProcesaKojiMiTreba

Ovako nesto bi trebalo da radi posao
(LEFT JOIN koristis da ti "nalepi" podatke i ako ne postoji veza, tj. da ti na mesto A2 stavi gomilu NULLova, ako veza ne postoji)

Uhvatili ste me nespremnog
 
Odgovor na temu

tokajac

Član broj: 93240
Poruke: 123
89.216.113.*



+5 Profil

icon Re: JOIN u slucaju da je vrednost nekada null28.01.2008. u 17:06 - pre 197 meseci
Isprobao sam LEFT OUTER JOIN i na malim primerima mi se chini da je to upravo ono sto mi treba!

Syntaxa koja je proradila kod mene:

Code:

SELECT B1.key, A1.key, A1.att1, A1.att2, A2.key, A2.att1, A2.att2
FROM B B1
LEFT OUTER JOIN A A1 on B1.Akey=A1.key
LEFT OUTER JOIN A A2 on B1.AKey2=A2.key
WHERE B1.key = @kljucSudskogProcesaKojiMiTreba


Ukoliko ima korisnih komentara za ovo resenje rado cu ih procitati!


Hvala i pozdrav!
 
Odgovor na temu

[es] :: Baze podataka :: JOIN u slucaju da je vrednost nekada null

[ Pregleda: 2013 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.