• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

3 Tabloyu Birleştirme Hakkında

  • Konbuyu başlatan Konbuyu başlatan mehmetd
  • Başlangıç tarihi Başlangıç tarihi

mehmetd

Altın Üye
Katılım
15 Ekim 2004
Mesajlar
124
Excel Vers. ve Dili
Ms Office Excel 2021 tr
Sn. Arkadaşlar iyi günler.
EtaSQL yi kullanıyorum Excel dış veri bağlantı yolu ile bir şeyler yapmaya çalışıyorum.
Aşağıda dökümünü yaptığım tabloları nasıl birleştirebilirim Sorgusu hakkında bilgi verebilecek olan var mı ?
Yardımlarınızı için şimdiden Allah razı olsun.
Tablolarım
FATHAR
FATFIS
CARKART
Ortak Noktaları
FATHARCARKOD=FATFISCARKOD=CARKOD
 
Muhtemelen "Left Join" kullanarak birşeyler yapılacak ama bende EtaSQL olmadığı ve ne olduğunu da bilmediğimden ötürü, kesin birşey söyleyemiyorum.

Aşağıdaki linke bir bakın, istediğinize benziyorsa işinize yarayabilir...


.
 
İlgili tabloları excel veya accesse ayrı ayrı sayfalara/tablolara alın, paylaşın. Nasıl bir sonuç istediğinizi gösterin. Excel üzerinde bir query oluşturulduktan sonra, bu sorguyu etaSQL den direkt almak için uyarlarsınız.
 
Sn. Veysel Bey hayırlı işler.
Ek.teki excel dosyamda yapmak istediğimi anlatmaya çalıştım.
Saygılarımla. İyi günler.
 

Ekli dosyalar

Kod:
SELECT FATHAR.*, CARKART.CARKOD, CARKART.CARUNVAN, FATFIS.FATFISTAR, FATFIS.FATFISTIPI
FROM (FATHAR LEFT JOIN CARKART ON FATHAR.FATHARCARKOD = CARKART.CARKOD) LEFT JOIN FATFIS ON FATHAR.FATHARCARKOD = FATFIS.FATFISCARKOD;
Accesde oluşturulmuş örnek bir sorgu, daha fazla yardımcı olunamaz, gerisi size kalmış.
 
Excel'deki örnek de burada ....

.
 

Ekli dosyalar

Sn. Haluk Bey elinize sağlık güzel bir çalışma olmuş ama ben yine tam olarak ne istediğimi anlatamadım sanırım.
Yıllar önce bir yerlerden yardım alarak şöyle bir kod ile FATHAR VE FATFIS tablolarını birleştirmiştim.
SELECT * FROM FATHAR LEFT OUTER JOIN FATFIS ON FATFISREFNO=FATHARREFNO
Bu koda ek olarak CARKART ı birleştirmek istiyorum.
Excel.in PowerQuery eklentisi ile bu kodu yazarak ETA SQL den verileri çekiyorum ve istemediğim sütunları kaldırıp kendime göre bazı raporlar yapmaya çalışıyorum. Umarım bu kez derdimi anlatabilmişimdir.
 
Sizin verdiğiniz örnek sorguda; FATFIS tablosundaki FATFISREFNO alanı, FATHER tablosundaki FATHERREFNO alanındaki verilere eşit olan kayıtlar listenir.

Benim verdiğim Excel'deki kod da benzer şekilde ama CARKART tablosu da 2. mesajda bahsettiğim LEFT JOIN sorgusuna dahil edilmiş durumda. Ancak; verdiğiniz 3 adet tabloda toplam 300 adet civarında sütun (alan) ve bu işe referans alınan CARKART tablosunda yaklaşık 5000 adet veri var.

Bu kadar fazla alanla, Excel'de SQL'in çalışması mümkün değil bence..... O yüzden, ben size örnek olsun diye SQL sorgusunda gelişigüzel bazı alanları aldım. Siz isteğinize göre, bu alanları ayarlayabilirsiniz.

Yani burada sizin öncelikli olarak karar vermeniz gereken konu; hangi tablodan hangi alanları alacağınızı işin başında sizin belirlemenizdir.

Veya, tavsiye etmem ama; söz konusu tablolarda istemediğiniz alanları siz işin başında manuel olarak silip Excel'in kabul edebileceği sınırların altına indikten sonra, buna benzer bir kodla tabloları birleştirebilirsiniz. Bu işi yaparken tabii, yedekli çalışmak gerekir.

Sanırım @veyselemre Bey de benzer bir mantık yürüterek size cevap vermiş...

Not: Verdiğiniz örnek dosyadaki tablolarda cari kod'lar haricinde herhangibir veri olmadığı için ben gelişigüzel verilerle çalıştım. Siz, tabloları birbirleriyle uyumlu şekilde verilerle doldurmuş ve beklentinizi gösteren bir sonuç tablosunun örneğini de eklemiş olsaydınız, ona göre bir çalışma yapardım.

Artık, bundan sonrasında siz kendiniz birşeyler yaparsınız çünkü elinizde 3 tablonun kullanıldığı bir JOIN sorgu örneği var. Ya da, Veysel Bey veya bir başkası size yardım eder.

Kolay gelsin,

.
 
Son düzenleme:
Bilgimiz olsun yaptığım denemede ado ile 255 sütun alınabiliyor, 256 da hata veriyor.
 
Sn.Haluk Bey ve Veysel Bey yardım ve ilginiz için çok teşekkür eder.
Örnekleriniz fikir edinmem açısından yeterli.
Saygılarımla
İyi çalışmalar.
 
Konu cevaplanmış ama bilgi olsun diye yazıyorum. Aşağıdaki gibi tabloya bir kod (A. B. ABC. A123.) vererek ve veri çekilecek olan sütun başlıklarına bu kodları yazarak 10 larca tabloyu birleştirebilirsiniz.

Select
A.FATHARCARKOD,
B.FATFISCARKOD,
C.CARKOD

from

FATHAR A,
FATFIS B,
CARKART C

where

A.FATHARCARKOD=B.FATFISCARKOD and
A.FATHARCARKOD=C.CARKOD
 
Geri
Üst