From: Bülent Aydin (bullaydin@gmail.com)
Date: Wed 04 Apr 2007 - 17:35:39 EEST
merhaba,
asagidaki cümle büyük ihtimalle isinizi görür :
select * from journal where durum = '0' and tarih = '2007-01-01'
and telefon in ( select telefon from journal where tarih= '2007-01-02'
and durum = '1'
group by telefon having count(*) < 2 )
Not: sizin datasetinize göre sonucta listede hicbirsey gözükmez , verdiginiz
kosulu saglayan kayit yok ,
uygun bir kayit ekleyip deneyin.. örnegin "yyyyy1 2007-01-01
0 654321"
kolay gele
On 04/04/07, Atif CEYLAN <atifceylan@gmail.com> wrote:
>
> 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
>
-- Bülent AydınIT Consultant Aschaffenburg/ Germany
bullaydin~gmail.com http://www.leonba.de
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama