Detail tabloya göre masteri filtreleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 01:45
Konum: Giresun/Samsun

Detail tabloya göre masteri filtreleme

Mesaj gönderen Arifceylan28 »

Forumda aradım ama bulamadım.Bu soru sorulmuşsa linkini verirseniz sevinirim.
Sorum şöyle.3 tabloyu ibdatasetler ile birbirine bağladım.Şöyle bir sorgu yapmak istiyorum.Detaildeki bir alanın benim istediğim değerde olanlarının masterda gözükmesini istiyorum.Eğer Masterdaki kayıt detailde bir tane benim istediğim değerde alana sahipse master tabloda o kayıt gözükecek.Benim istediğim değerde detailde kayıt yoksa o kayıt masterda gözükmeyecek.
2 tablo için örnek verebilirseniz 3 tablo için kendim geliştiririm.Ne yapmam gerektiği hakkında pek bi bilgim yok.İç içe sql falan kullanılıyor mu bilmiyorum.Yardımlarınızı bekliyorum.
Formda cxgrid de mevcut.(Belki cxgridin böyle bir özelliği vardır diye söylüyorum.Ne de olsa birsürü özelliği var).
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Eğer inner join ile birleştirirseniz iki tablonuzu, birinde kayıt yoksa eğer sonuç dönmez. Sanırım bununla çözebilirsiniz.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

master detay tablo arasında join yaparak bir select yapıp detaydaki ilgili alan kosulunuzu koyarak master tablodan alan secebilirsiniz....

Kod: Tümünü seç

Select .... Master tablodan alanlar.....
from Maser_tablo M, Detay_tablo D
where M.primary_alan=D.primary_alan and D.istenen_alan='instenen deger'
gibi bir şey....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2356
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

detailde kayıt yoksa o kayıt masterda gözükmeyecek.
burası bana biraz karışık geldi? eğer Master da kayıt yoksa Detail de nasıl olabilir? bence ter olmuş gibi, yani master detail detailde master olması gerek gibi geldi.

Yukarıda arkadaşlar SQL ile yapmışlar, bende şöyle bir şey söyliyeyim. Öncelikle VeriTabanını belirt :) IB/FB varsayayım, IBTable ları kullan, daha sonrada datasource lar yardımıyla detail i master :?: a bağla ilgili alanlar eşik olunca o şarta uygun olan kayıtları getirecektir

kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 01:45
Konum: Giresun/Samsun

Mesaj gönderen Arifceylan28 »

Hepinize teşekkür ederim.
Freeman35 soruyu biraz karışık yazmış olabilirim.Çünkü gecenin ilerleyen saatlerinde yazdım.Ama anlatmak istediğimi anlabilmişim sanırım.
Veritabanı olarak firebird kullanıyorum.ibdatasetlerle bağlantıyı yaptım.Söylediklerinizi deneyeceğim.Başka önerileri olanlar varsa bekliyorum.
Saygılar
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 01:45
Konum: Giresun/Samsun

Mesaj gönderen Arifceylan28 »

Joini biraz araştırdım.Masterdaki ibdatasete şu kodları ekliyorum fakat çalışmıyor.

Select * from Tablom1 left join tablom2 on tablom1.kayitno=:cihazno where kayitno=:cihazno and cihaz=:'beko'

Bu kodda yanlışlıklar var mı?Çalıştırınca bütün kayıtları filtreliyor.cihaz=:'beko' yu kaldırınca da filtreliyor.
Cevapla