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

SQL upit sa not exist

[es] :: Pascal / Delphi / Kylix :: SQL upit sa not exist

[ Pregleda: 4336 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

slavica2000
Slavica jovanovic
Uzice

Član broj: 31101
Poruke: 55
*.client.comcast.net.



+1 Profil

icon SQL upit sa not exist27.12.2004. u 18:18 - pre 235 meseci
Imam select koji prikaze slogove iz dve tabele pod odredjenim uslovima, ali ne mogu se setiti kako se pise dodatak za slogove koji imaju u jednoj tabeli a nemaju u drugoj. Za pomoc evo deo koda koji radi
select broj_r, iznos_r, broj_i, iznos_i
from rac, izv
where broj_r = broj_i
vuka
 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
217.16.84.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: SQL upit sa not exist27.12.2004. u 21:36 - pre 234 meseci
Ovo je vise DB pitanje nego Pascal/Delphi :)

ali ipak, za da spojis dve tabele na nacin koji trazis mozes uraditi 4 tipa na join-a:

ako imamo dve tabele
Code:

Table A:
id    data
----------------
1    bla1
2    bla2
3    bla3
4    bla4

Table B:
id    data
----------------
2    bval2
3    bval3
6    bval6


I sada zelimo da spojimo sve slogove koje ima u obe tabele. To e to sto ustvari ti si uradila ... uradimo INNER JOIN

SELECT a.id, b.data FROM a INNER JOIN b ON a.id = b.id
Code:

rezultat:
id    data
----------------
2    bval2
3    bval3


Ako zelimo da spojimo desnu tabelu sa levom i u rezultatu dobiti polja iz desne tabele koje nemaju svoje parove u levu tabelu onda treba nam right join

SELECT a.id, b.data FROM a RIGHT JOIN b ON a.id = b.id
Code:

rezultat:
id    data
----------------
1    <NULL>
2    bval2
3    bval3
4    <NULL>


Ako zelimo obratno, da iz leve tabele dobijemo ceo recordset ukljucujuci i nespojene slogove iz desne tabele, normalno nam treba left join

SELECT a.id, b.data FROM a LEFT JOIN b ON a.id = b.id

Code:

rezultat:
id    data
----------------
2        bval2
3        bval3
<NULL>   bval6


jos imas FULL OUTER join koji ukljucuje sva polja iz obe tabele

SELECT a.id, b.data FROM a FULL OUTER JOIN b ON a.id = b.id

Code:

rezultat:
id    data
----------------
1        <NULL>
2        bval2
3        bval3
4        <NULL>
<NULL>   bval6


Ima jos nekoliko permutacija na temu join-a koji se zovu LEFT OUTER, RIGHT OUTER, ali u principu LEFT JOIN je isto sto i RIGHT OUTER JOIN samo je redosled u kome se ukljucuju tabele razlican.
People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

jajo
Zagreb

Član broj: 18276
Poruke: 91
*.opus.hr.



Profil

icon Re: SQL upit sa not exist28.12.2004. u 08:27 - pre 234 meseci
select r.broj, r.iznos
from rac r
where not exists (select null
from izv i
where i.broj = r.broj)
 
Odgovor na temu

slavica2000
Slavica jovanovic
Uzice

Član broj: 31101
Poruke: 55
*.client.comcast.net.



+1 Profil

icon Re: SQL upit sa not exist28.12.2004. u 17:58 - pre 234 meseci
Hvala jos sam nesto naucila
vuka
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: SQL upit sa not exist

[ Pregleda: 4336 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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