2 tableyi viewle nasıl sorgulayabilirim

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
burakb44
Üye
Mesajlar: 131
Kayıt: 11 Mar 2005 03:13

2 tableyi viewle nasıl sorgulayabilirim

Mesaj gönderen burakb44 »

arkadaşlar merhaba iki veya daha fazla tableyi viewle nasıl sorgulayabilirim. yardımlarınızı bekliyorum iyi çalışmalar.

Burak Bitikçi
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Mesaj gönderen ASE »

Tablolarda neyi sorgulayacaksın. Açıklarsan burda nasıl yapacağın konusunda somut bilgiler yazabiliriz. Tablo yapıları ve birbirleriyle ilişkileriş de önemli

Kolay gelsin.
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
Kullanıcı avatarı
burakb44
Üye
Mesajlar: 131
Kayıt: 11 Mar 2005 03:13

Mesaj gönderen burakb44 »

merhaba,

fatura_ozet = fatura üst bilgilerinin bulunduğu table
fatura_detay= faturadaki ürünleri bulunduğu table

ben bu iki tableyi birleştirip belge numarasına göre ve cari kodu göre arama yaptırmak istiyorum her defasında iki tabledan kayıtları arayıp getirmek yerine viewle tabloları birleştirip istediğim kayıtları süzmek istiyorum.

veritabanı olarak interbase kullanıyorum..

iyi çalışmalar
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

selam
bunu tek bir query ile halledebilisn
fatura_ozet:=master_id,ckod,cadi tablo adı da A olsun
fatura_detay :=mas_det_id,ckod,skod,sadi tablo adıda B dir
diyelim
interbase kullanıyorsan
bir tane ibquery koy
ve İbquery databasename nı ayarla daha sonra Sql bölümüne gel ve
şunları yaz

Kod: Tümünü seç

select * from A,B
where tarih between   :TARIH1 AND :TARIH2 AND ckod=:ckod
yaz ve active özell. true yap daha sonra bir butona basıtğında filtreleme yapmasını istiyosan da o butonun içine de şunları yaz

Kod: Tümünü seç

IBQuery1.close;

IBQuery1.parambyname('TARIH1').Value := dateedit1.Date;
IBQuery1.parambyname('TARIH2').value := dateedit2.Date;
IBQuery1.Parambyname('CKOD').Value := RzCombobox1.text;
IBQuery1.Open;

şimdi hepsi bu kadar fakat dikkat edeceğin husus şu sen masterdaki ckodu kaydediyosuın ya detayda her birt kayıt işlemi için aynı ckodu kaydettiğin zaman güzel bir şekilde çalışırı Kolay gelsin.
Kullanıcı avatarı
burakb44
Üye
Mesajlar: 131
Kayıt: 11 Mar 2005 03:13

Mesaj gönderen burakb44 »

selman kardeş evet güzel yapmışsın ama ben iki tableyi önce viewle birleştirdikten sonra yapmayı düşünüyorum bana bu konuda yardımcı olursanız sevinirim, ilginiz içinde ayrıca teşekkürler.

Burak BİTİKÇİ
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

selam

Kod: Tümünü seç

create view view1 ( alanlar )
as
select alanlar_ from tablo1,tablo2
where _ckod=:ckod
kolay gelsin
Kullanıcı avatarı
burakb44
Üye
Mesajlar: 131
Kayıt: 11 Mar 2005 03:13

Mesaj gönderen burakb44 »

arkadaşlar aşağıdaki kodda hata nerede interbase consol da yazdığımda hata veriyor

yardımcı olursanız sevinirim.

Kod: Tümünü seç

[b]create view fat_liste
as
select a.cari_kodu, a.belge_no, b.cari_kodu, b.belge_no from c_fatura_ozet a, c_fatura_detay b
where a.cari_kodu=b.cari_kodu and a.belge_no=b.belge_no;[/b]
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Merhaba.
Viewle dönecek alanları belirtmemişsiniz, select ettiğiniz alanlara karşılık
olarak as'den önce alanları yazmalısınız...
Kolay gelsin.
Kullanıcı avatarı
burakb44
Üye
Mesajlar: 131
Kayıt: 11 Mar 2005 03:13

Mesaj gönderen burakb44 »

arkadaşlar merhaba, sorunu hallettim buraya yakmak istedim başka arkadaşlar da faydalansın diye
iyi çalışmalar


Kod: Tümünü seç

CREATE VIEW FATURA_LISTESI 
AS
select distinct belge_no, cari_kodu, fatura_tarihi, stok_kodu, urun_adi, miktari from c_fatura_detay , c_fatura_ozet where
c_fatura_detay.cari_kodu=c_fatura_ozet.cari_kodu and c_fatura_detay.belge_no=c_fatura_ozet.belge_no ;
Cevapla