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: 89
Kayıt: 14 Eyl 2010 10:55
Konum: İstanbul

Komplex SQL Kod PostgreSQL

Mesaj gönderen 3ddark »

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: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Komplex SQL Kod PostgreSQL

Mesaj gönderen aslangeri »

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: 89
Kayıt: 14 Eyl 2010 10:55
Konum: İstanbul

Re: Komplex SQL Kod PostgreSQL

Mesaj gönderen 3ddark »

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 04:44
Konum: İstanbul

Re: Komplex SQL Kod PostgreSQL

Mesaj gönderen gkimirti »

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
3ddark
Üye
Mesajlar: 89
Kayıt: 14 Eyl 2010 10:55
Konum: İstanbul

Re: Komplex SQL Kod PostgreSQL

Mesaj gönderen 3ddark »

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 04:44
Konum: İstanbul

Re: Komplex SQL Kod PostgreSQL

Mesaj gönderen gkimirti »

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
Cevapla