7 tane tabloyu birleştirme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

7 tane tabloyu birleştirme

Mesaj gönderen ALUCARD »

s.a.
arkadaşlar benım 7 tane tablom var alan sayılaru aynı
alan özeelikleri de aynı
sadecebir kaç alan adı farklı

bunları çalışma anından hepsini bir gridde nasıl gosterebilirim.

d7 ve firebird 1.5 kullanıyorum..
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Selamlar

query nesnesi ile bunu yapabilirsin.

Kod: Tümünü seç

   
    select * from tablo1,tablo2,toblo3


Bu 3 tabloyu gridine yanyana getirir. Eğer sadece bazı alanlarını istiyorsan * yerine onları belirtebilirsin.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

birleştirm üzerindee çalışırken şöyle bir kod çıkardım

Kod: Tümünü seç

select *  from     ALISIADEBASLIK LEFT JOIN SATISBASLIK 
on ALISIADEBASLIK.CH_ID = SATISBASLIK.CH_ID 
burda ALISIADEBASLIK tablosundaki kayıtları SATISBASLIK
tablosundaki kayıtları yanyana listeliyor yanı her tabloda 26 alan varken gridde 52 alan oluyor..
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

P206 yazdı:
Bu 3 tabloyu gridine yanyana getirir. Eğer sadece bazı alanlarını istiyorsan * yerine onları belirtebilirsin.
bana alt alta lazım ama
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Kod: Tümünü seç

select alan1, alan2, alan3
from tablo1
union
select alan1, alan2, alan3
from tablo2
union
select alan1, alan2, alan3
from tablo3
order by 1,2
seklinde yapabilirsiniz.... İsimleri farkli alanlari da cekecekseniz onlari da ayni sirada ekleyebilirsiniz. Tabi ki tek bir alan adi altinda goruneceklerdir..... ya da bunlari farkli alanlar olarak cekmek istiyorsaniz da o zaman her tablo da olan alani select listesine yazip diger tablolarda o siraya bos bir alan koyun

Kod: Tümünü seç

'' as bos_alan
gibi ya da alanlar numerik ise

Kod: Tümünü seç

0 as bos_alan
ya da

Kod: Tümünü seç

null as bos_alan
gibi.....
* 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ı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

hocam bu kod kayıtları yan yana listeliyor..
once tablo biri onun yanına tablo ikinini fildlerini alıyor..
bırıncı tabloda 26 ikinci tabloda 26 alan var bu kodun sonucunda gridde 52 alan var
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

UNION ile yaparsan 26 kayıt gelir.

Eğer join ile yapıyorsan, direk * ile seçersen her iki tablodaki tüm kayıtları getirir. Bunun yerine direk istediğin alanları yazman lazım.

Kolay gelsin.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

Kod: Tümünü seç

Select 
  ID,
  FIRMA_NO,
  ALACAKNO,
  KASIYER,
  TARIH,
  SAAT,
  CH_ID,
  CH_KOD,
  CH_AD,
  CH_UNVAN,
  CD_ADRES,
  TOPLAMISKONTO,
  INDIRIM,
  TOPLAM,
  TOPLAMKDV,
  GENELTOPLAM,
  ARATOPLAM,
  ODEME,
  KDV,
  KDVORANI,
  ODEMETARIHI,
  SEVKTARIHI,
  SATISELEMANI,
  KUR_USD,
  KUR_EURO,
  USD,
  EURO
from ALACAKBASLIK  
UNION 
Select 
  ID,
  FIRMA_NO,
  IADENO,
  KASIYER,
  TARIH,
  SAAT,
  CH_ID,
  CH_KOD,
  CH_AD,
  CH_UNVAN,
  CD_ADRES,
  INDIRIM,
  TOPLAM,
  TOPLAMKDV,
  GENELTOPLAM,
  ARATOPLAM,
  ODEME,
  KDV,
  KDVORANI,
  ODEMETARIHI,
  SEVKTARIHI,
  SATISELEMANI,
  KUR_USD,
  KUR_EURO,
  USD,
  EURO
from ALISIADEBASLIK 
bu kod hata veriyor..
hata
invalid command
count of column list and variable list do not mach
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Fahrettin abinin dediği gibi union ile yaparsan alt alta gelir ama tablolarının özdeş olmalı. Yada Benim kullandığım başka bir yöntem var o da Memdata adlı bir bileşene tüm kayıtlarımı atıyorum oradan Dbgrid te gösteriyorum.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

mustafa hocam kucuk bır kod yazarsanız sevinirim..
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

farklı sayıda kolon seçiyorsun ondan. Mesela yukarda INDIRIM'den önceki alan altta yok. İyice kontrol et.

Kolay gelsin.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

P206 yazdı:Fahrettin abinin dediği gibi union ile yaparsan alt alta gelir ama tablolarının özdeş olmalı. Yada Benim kullandığım başka bir yöntem var o da Memdata adlı bir bileşene tüm kayıtlarımı atıyorum oradan Dbgrid te gösteriyorum.
bu bileşen paralımı

eğer paralı değilse paylşaşabilirmiyiz..
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Bu bileşen Developer Express in paralı bir bileşeni. Ama Buna benzer bir ücretsiz bileşen bulursam veya bu site sakinlerinden bulan bilen varsa bizinle paylaşır.

Herkese kolay gelsin.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Arşiv CD'sindeki kbmMemTable'ı kullanabilirsin. Ama bence önce SQL ile yapmaya çalış.

Elinde arşiv CD'si yoksa sitede linkler kısmında linki var. Bedava ve iyi bir componenttir.

Kolay gelsin.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

RxLib icerisinde de var
ÜŞENME,ERTELEME,VAZGEÇME
Cevapla