selamlar, bence veri yapın biraz sorunlu mucip. şu şekilde olsa daha rahat edersin:
yon, giris_adedi, giris_tutari, cikis_adedi, cikis_tutari, adet, tutar buradaki 3 alan kafa karıştırıcı olabilir --> yon, adet ve tutar yon --> (boolean bir alan) 0 ise giriş 1 ise çıkıştır adet ve tutar --> giriş çıkış olduğuna bakmaksızın hareket değerleridir bu şekilde bir veri yapısı ile hemen hemen bütün raporlarını standart sorgularla basitçe elde edebilirsin giriş işlemlerine dayalı bir rapor mu yapacaksın o zaman giris_ ile başlayan alanları dikkate alırsın (yon == 0) çıkış işlemlerine dayalı bir rapor mu yapacaksın o zaman gikis_ ile başlayan alanları dikkate alırsın (yon == 1) yön önemli değil mi o zaman da adet ve tutara bakarsın. ekstra alanların olup verinin biraz fazla olması bugün için bir sıkıntı değil. bu normalizasyon dışı daha çok performans odaklı bir yaklaşım ve ben bunun çok faydasını gördüm, tavsiye ederim. On Mon, Sep 24, 2018 at 11:34 AM Samed YILDIRIM <sa...@reddoc.net> wrote: > Selamlar Mucip, > > Aklıma hızlıca gelen iki çözümü yazayım, > > CASE ile; > select *, case when gc=1 then 'GİRİŞ' when gc=-1 then 'ÇIKIŞ' end as > hareket_yonu from veri; > > CTE ile; > with k (a,b) as (values (1,'GİRİŞ'),(-1,'ÇIKIŞ')) select id,miktar,gc,b as > hareket_yonu from veri left join k on veri.gc = k.a; > > İstersen view, rule vs. kullanarak da çözüm seçeneklerini bir miktar > genişletebilirsin. Aynı zamanda ENUM veri tiplerine de bakmanı öneririm. > > İyi çalışmalar. > > > > > > İyi çalışmalar. > Samed YILDIRIM > > > > 23.09.2018, 13:29, "Dr. Mucibirahman İLBUĞA" <mucip.ilb...@gmail.com>: > > Merhabalar, > > PostgreSQL kullanıyorum. "giris_cikis" olarak adlandırdığım bir kolon > var +1 veya -1 oluyor. Anlaşılacağı üzere +1 olduğunda "Giriş", -1 > olduğunda "Çıkış" işlemi yapılıyor... > > SELECT ile sorguladığımda her satırda; +1 olduğunda "Giriş", -1 > olduğunda "Çıkış" olarak görünmesini sağlamak istiyorum. > > Şimdi yazarken aklıma geldi. Aslında fonksiyon yazabilirim. Ama bu kadar > yazmışken sizlerin de yorumunu alayım. ;-) > > -- > Kolay gelsin, > Mucip:) > > > _______________________________________________ > Linux-programlama mailing list > Linux-programlama@liste.linux.org.tr > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > > _______________________________________________ > Linux-programlama mailing list > Linux-programlama@liste.linux.org.tr > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > -- İyi çalışmalar... Mustafa DUMLUPINAR https://github.com/seyhanp
_______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php