From: ANIL KARADAĞ (anil.karadag@gmail.com)
Date: Wed 04 Apr 2007 - 17:34:57 EEST
verdiğin tabloya dikkat etmedin sanırım, söylenilen kaydı alman için
tarihinin max 2007-01-01 olması gerekiyor biz son 2 kaydın tarihlerini böyle
yaparsak aşağıda yazmış olduğum sorguyu denemeni öneririm.
select * from tablo1 as t where durum='0' and tarih <= '2007-01-01' and
(select count(*) from tablo1 where durum='1' and tarih='2007-01-02' and
tabloo.telefon = t.telefon) <= 2 group by telefon;
04.04.2007 tarihinde Atif CEYLAN <atifceylan@gmail.com> yazmış:
>
> merhaba arkadaşlar.
> postgresql üzerinde bir sql yazmaya calışıyorum.1 seferde bu sorguyu
> almak istiyorum.
> sorunum şu.
>
> table üzerinde adres,telefon,durum,tarih gibi alanlarım var.
>
> kayıtlar şu şekilde oluşuyor.
>
> adres tarih durum telefon
>
> xxxxx1 2007-01-01 0 123456
> xxxxx1 2007-01-02 0 123456
> xxxxx1 2007-01-02 0 123456
> xxxxx1 2007-01-02 1 123456
> xxxxx1 2007-01-02 1 123456
> xxxxx1 2007-01-02 1 123456
> yyyyy1 2007-01-02 0 654321
> yyyyy1 2007-01-02 0 654321
>
>
>
> bu tablodaki durum=0 olan ve tarih <= 2007-01-01 kayıtları telefona göre
> gruplayıp almak istiyorum ancak 2007-01-02 tarihindeki her bir telefon
> için durumu 1 olanların sayısı 2 den büyükse o kayıt gelmeyecek.
> yani yukarıdaki tabloya göre 123456 numaralı telefonun durum=1 şartına
> göre countu 3 oluyor bu durumda bu telefonun hiç gelmemesi 654321
> numaralı telefondan da sadece 1 adet kayıt gelmesi gerekiyor.
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama