ORKESTRA

ORKESTRA

  orkestra orkestra.com.tr
  Sohbet   İndirme Merkezi

Sorgunun Filtrelenmesi

Şu ana kadar yaptığımız işlemlerde hiçbir filtreleme olmadan veri sorguladık. Bunun sonucunda bizim önümüze ilgili tabloda daha önceden Orkestraya girilmiş bütün veriler hiçbir filtre olmadan satır olarak geldi. Bu aslında istemediğimiz bir şey.
En kolay ve gerekli filtreleme, hangi Firma/Dönemde çalışılıyorsa o kurumun carileri, ürünleri, faturalarının vs. getirilmesidir.
Bunun için de sorgu sayfasının sonuna where komutuyla beraber ilgili filtreleme şartı yazılmalıdır.

select 
cari.code as CARI_KOD,
cari.description as CARI_ACIKLAMA,
toplam.postedNet as NET_BAKIYE,
case cari.defPayType
when 0 then 'Belirsiz'
when 1 then 'Nakit'
when 2 then 'Havale'
when 3 then 'K.Kartı'
when 4 then 'Çek'
when 5 then 'Senet' else '?' end as ODEME_SEKLI,
case when doviz.reference > 0 then doviz.code else 'TL' end as DOVIZ,
kurum.code as KURUM_KODU
from FinParty cari
left join cari.periodTotal as toplam
left join cari.entity as kurum
left join cari.currency as doviz
where cari.entity.reference = :entity_reference

Burada where komutundan sonraki koşul bize ilgili Carinin entity’sini, aktif olarak üzerinde çalışılan Firmanın entity’sine eşitleyecek ve bize buna uyan sonuçları listeleyecektir

Bu sorgunun çıktısı aşağıdaki gibidir.

Firma/Dönem Filtrelenmiş Cari Hesaplar

Burada aktif olan yasal firma “ORKESTRA A.Ş.” olduğu için sadece “ORKESTRA A.Ş.” firmasına kayıtlı Cari Firmalar listelenmiştir.

Filtreleme yapılan satırda devamına başka filtreleme de yapabiliriz. Mesela “ORKESTRA A.Ş.” kurumuna ait ve “NET_BAKIYE”si 0 (sıfır)dan büyük olan Carileri görmek istediğimizde, komut şöyle olmalıdır;

where cari.entity = :entity_reference
and toplam.postedNet > 0

Bu satırı da yukarıdaki sorguya ekledikten sonra sorgunun sonucu aşağıdaki şekilde olacaktır;

Firma/Dönem ve Bakiye Filtrelenmiş Cari Hesaplar

Görüldüğü gibi önceki sorguya ek olarak “NET_BAKIYE”si 0 (sıfır)dan büyük olan firmalar listelenmiştir.