Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   SQL (http://www.excel.web.tr/forumdisplay.php?f=66)
-   -   Eta sql8 ile excele çoklu tablo oluşturma (http://www.excel.web.tr/showthread.php?t=162551)

bydogannn67 08-03-2017 17:15

Eta sql8 ile excele çoklu tablo oluşturma
 
Merhabalar,

Aşağıdaki kodlar ile eta sql8'den tek tablo üzerinden veri çekiyorum ama bu tabloda eksik alanlar olduğu için iki tabloyu birleştirip istediğim alanları çekmek istiyorum ama hata alıyorum hata yaptığım alan neresidir yardımcı olabilirmisiniz

TEK TABLO ;

Kod:

SELECT 'G-Ç'=CASE
WHEN FATFISGCFLAG=1 THEN 'ALIŞ'
WHEN FATFISGCFLAG=2 THEN 'SATIŞ'
ELSE'TANIMSIZ'
END,FATFISTAR AS'TARİH',FATFISEVRAKNO1 AS 'FT NO',FATFISADRES1,FATFISHAZNOT AS 'TEL1',FATFISKONTNOT AS 'FAX1',FATFISVERDAIRE,
FATFISVERHESNO,FATFISCARKOD,FATFISCARUNVAN,FATFISKDVMATRAHI,FATFISKDVTUTARI,
FATFISTEVTUTAR AS 'TEVKİFAT',FATFISEKVERGITOP AS 'STOPAJ',FATFISGENTOPLAM
FROM FATFIS
WHERE FATFISIPTALFLAG=0

OLUŞTURMAK İSTEDİĞİM ÇOKLU TABLO;

Kod:

SELECT 'G-Ç'=CASE
WHEN FATFISGCFLAG=1 THEN 'ALIŞ'
WHEN FATFISGCFLAG=2 THEN 'SATIŞ'
ELSE'TANIMSIZ'
END, FATFISTAR AS'TARİH',FATHARREFNO,FATFISCARKOD, FATFISCARUNVAN, FATFISEVRAKNO1, FATHARSTKCINS, FATHARSTKBRM,FATHARMIKTAR,FATHARKDVYUZ,FATHARFIYAT,FATHARTUTAR,FATHARKDVTUTAR, FATHARTOPLAMTUT
FROM FATFIS, FATHAR
WHERE FATFISIPTALFLAG=0


Zeki Gürsoy 08-03-2017 17:57

İki veya daha fazla tabloyu birleştirirken ya "alias" kullanın, ya da tablo adlarını niteleyin.
Diğer bir konu da birleşim modeliniz hem ilkel hem de eksik. "fatfis" ile "fathar" tabloları arasındaki ortak alanı "where" içinde eşitleyin. Yoksa kayıtlar mükerrer gelecektir. Bence "Inner Join" ile birleştirin.

Örnek 1:
Kod:

select fatfis.fatfistar
from fatfis

veya

Kod:

select a.fatfistar
from fatfis a


bydogannn67 08-03-2017 19:56

Hocam Sql konusunda pek iyi değilim bulduğum kodlar ve deneme yanılma yöntemi ile bişeyler yapmaya çalışıyorum sonuç itibariyle nasıl olmalı yardımcı olabilirmisiniz :)

Zeki Gürsoy 08-03-2017 22:07

Tablonuzun yapısını bilmiyorum. Tahmini birşeyler yapmaya çalıştım. Muhtemelen Field listesini doğru tahmin ettim.

ON (fis.ID = har.ID) kısmını özellikle kontrol edin. (Salladım orayı :) )

Kod:

SELECT
    CASE
        WHEN fis.FATFISGCFLAG = 1 THEN 'ALIŞ'
        WHEN fis.FATFISGCFLAG = 2 THEN 'SATIŞ'
        ELSE 'TANIMSIZ'
    END AS [G-Ç],
    fis.FATFISTAR AS [TARİH],
    har.FATHARREFNO,
    fis.FATFISCARKOD,
    fis.FATFISCARUNVAN,
    fis.FATFISEVRAKNO1,
    har.FATHARSTKCINS,
    har.FATHARSTKBRM,
    har.FATHARMIKTAR,
    har.FATHARKDVYUZ,
    har.FATHARFIYAT,
    har.FATHARTUTAR,
    har.FATHARKDVTUTAR,
    har.FATHARTOPLAMTUT
FROM FATFIS fis   
    INNER JOIN FATHAR har ON (fis.ID = har.ID)
WHERE fis.FATFISIPTALFLAG = 0



Saat 03:09

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.