Komplex SQL Kod PostgreSQL

Diğer veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
3ddark
Üye
Mesajlar: 69
Kayıt: 14 Eyl 2010 09:55
Konum: İstanbul

Komplex SQL Kod PostgreSQL

Mesaj gönderen 3ddark » 27 Kas 2010 03:22

Arkadaşlar benim elimde 2 adet tablo var.

Bu tabloda toplamda en fazla 450 adet kayıt var.

Resim
Tablo Adı kartlar

Diğer tabloda ise aşağıdakidir

Resim
Tablo Adı personel


Benim yapmak istediğim kartlar tablosundaki verilerin tamamını çekmek istiyorum FAKAT personel tablosundaki istencikis DATE alanında veri olan kayıtlar hariç hepsi gelsin.
Bundan sonrada bu aldığım kayıtları combobox items add ile combo ya ekleyeceğim

Örnek olarak personel tablosundaki Kart No 15 olan kayıt hariç kartlar tablosundaki bütün verileri çekmek istiyorum.
2 tablodada ortak olan field kartno.

Acaba böyle bir işlemi SQL ile kod yazarak yapmak mümkünmü?
Programalama Dili Delphi 7
Veri Tabanı PostgreSQL en azından fikir olursa oradan ben birşeyler yaparım en kötü ihtimalle 2 dbgrid ile işi çözeceğim
PostgreSQL - Delphi - Linux :!:

Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4319
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Komplex SQL Kod PostgreSQL

Mesaj gönderen aslangeri » 27 Kas 2010 04:31

s.a.
şöle bir kod olabilir

Kod: Tümünü seç

select * from kartlar
where kartno in (select distinct kartno from personel where istencikis is null)
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim

3ddark
Üye
Mesajlar: 69
Kayıt: 14 Eyl 2010 09:55
Konum: İstanbul

Re: Komplex SQL Kod PostgreSQL

Mesaj gönderen 3ddark » 01 Ara 2010 02:59

Kod: Tümünü seç

SELECT 
   kartlar.*
FROM
   kartlar, personel
WHERE
   personel.kartno = kartlar.kartno and istencikis is null
Malesef olmadı sizin yardığınız kod yukarıdaki kod ile aynı şekilde sonuç verdi.
Yani kartlar tablosundaki bütün fieldler geliyor fakat kriter olarak personel.kartno = kartlar.kartno and istencikis is null şeklindeki kayitlari çağırıyor. Toplamda getirilen kayıt sayısı 7 adet oluyor.
PostgreSQL - Delphi - Linux :!:

Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 03:44
Konum: İstanbul

Re: Komplex SQL Kod PostgreSQL

Mesaj gönderen gkimirti » 01 Ara 2010 06:03

Kod: Tümünü seç

select k.* from kartlar k
right join personel p on p.kartno=k.kartno
where p.istencikis is null
bir de bunu dener misin?
ÜŞENME,ERTELEME,VAZGEÇME
Oğlum Yusuf'un yeni oyunu :mrgreen: Google Play üzerinde
Linear Minimalist Puzzle ve Smash Drift
👉 https://goo.gl/8S31tD 👈
👉 http://bit.ly/2OJos6P 👈

3ddark
Üye
Mesajlar: 69
Kayıt: 14 Eyl 2010 09:55
Konum: İstanbul

Re: Komplex SQL Kod PostgreSQL

Mesaj gönderen 3ddark » 02 Ara 2010 10:31

Yok malesef olmadı o şekilde sadece personel listesindeki istencikis is null olan kayıtlar geliyor.
PostgreSQL - Delphi - Linux :!:

Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 03:44
Konum: İstanbul

Re: Komplex SQL Kod PostgreSQL

Mesaj gönderen gkimirti » 02 Ara 2010 11:18

Kod: Tümünü seç

select k.* from kartlar k
left outer join personel p on p.kartno=k.kartno
where p.istencikis is null
bunu dene istediğini yapacaktır
ÜŞENME,ERTELEME,VAZGEÇME
Oğlum Yusuf'un yeni oyunu :mrgreen: Google Play üzerinde
Linear Minimalist Puzzle ve Smash Drift
👉 https://goo.gl/8S31tD 👈
👉 http://bit.ly/2OJos6P 👈

Cevapla