Sorguda Hata

Gönderen Konu: Sorguda Hata  (Okunma sayısı 1299 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı cousen

  • Logo Uzman Kullanıcı
  • ****
  • Karma: 1
Sorguda Hata
« : 24.11.2017, 15:05 »
Merhaba ;

Aşağıda ki sorguda bu şekilde bir hata alıyorum ? Yardımcı olabilirmisiniz.



Kod: [Seç]
SELECT
CARİ.CODE AS [KODU],
CARİ.CITY AS [ŞEHİR],
CARİ.DEFINITION_ AS [ÜNVANI],
MLZ.NAME AS [ÜRÜN],
FAT.FICHENO as [FİŞ NO],
STL.DATE_ AS [TARİH],
CASE When stl.DISTDISC>0 THEN 'İsk Uyg.' ELSE 'Liste' end AS [DURUM],
STL.AMOUNT AS [MİKTAR],
(STL.LINENET/STL.AMOUNT) AS [SATIŞ FIYAT],
(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC) AS [Son Alış],
(STl.LINENET) as [SATIŞ TOPLAMI],
(STL.AMOUNT*(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC)) AS [ ALIŞ NET TOPLAM],

ISNULL(((STL.LINENET)/NULLIF(STL.AMOUNT*(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC),0 )-1),0) AS [KAR ORAN],

ISNULL(((STl.LINENET/STL.aMOUNT)/NULLIF(STL.PRICE,0)-1),0) [İSKONTO]"

FROM
LG_017_01_STLINE AS STL,
LG_017_CLCARD as CARİ,
LG_017_ITEMS AS MLZ,
LG_017_01_INVOICE AS FAT,
LG_017_PRCLIST AS PRC WHERE
STL.CLIENTREF = CARİ.LOGICALREF
AND
STL.STOCKREF = MLZ.LOGICALREF
AND
STL.INVOICEREF = FAT.LOGICALREF
AND
PRC.CARDREF = MLZ.LOGICALREF AND
(STL.TRCODE=8)AND STL.BILLED=1

vedat_ozer

  • Ziyaretçi
Ynt: Sorguda Hata
« Yanıtla #1 : 24.11.2017, 15:15 »
Selamlar,

Aşağıdaki şekilde değiştirin.

Kod: [Seç]
SELECT
CARİ.CODE AS [KODU],
CARİ.CITY AS [ŞEHİR],
CARİ.DEFINITION_ AS [ÜNVANI],
MLZ.NAME AS [ÜRÜN],
FAT.FICHENO as [FİŞ NO],
STL.DATE_ AS [TARİH],
CASE When stl.DISTDISC>0 THEN 'İsk Uyg.' ELSE 'Liste' end AS [DURUM],
STL.AMOUNT AS [MİKTAR],
(STL.LINENET/STL.AMOUNT) AS [SATIŞ FIYAT],
(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC) AS [Son Alış],
(STl.LINENET) as [SATIŞ TOPLAMI],
(STL.AMOUNT*(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC)) AS [ ALIŞ NET TOPLAM],

ISNULL(((STL.LINENET)/NULLIF(STL.AMOUNT*(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC),0 )-1),0) AS [KAR ORAN],

ISNULL(((STl.LINENET/STL.aMOUNT)/NULLIF(STL.PRICE,0)-1),0) [İSKONTO]

FROM
LG_017_01_STLINE AS STL,
LG_017_CLCARD as CARİ,
LG_017_ITEMS AS MLZ,
LG_017_01_INVOICE AS FAT,
LG_017_PRCLIST AS PRC WHERE
STL.CLIENTREF = CARİ.LOGICALREF
AND
STL.STOCKREF = MLZ.LOGICALREF
AND
STL.INVOICEREF = FAT.LOGICALREF
AND
PRC.CARDREF = MLZ.LOGICALREF AND
(STL.TRCODE=8)AND STL.BILLED=1



Çevrimdışı cousen

  • Logo Uzman Kullanıcı
  • ****
  • Karma: 1
Ynt: Sorguda Hata
« Yanıtla #2 : 24.11.2017, 15:21 »
Vedat bey söylediğiniz şekilde düzenledim şimdi de bu hatayı verdi ?


vedat_ozer

  • Ziyaretçi
Ynt: Sorguda Hata
« Yanıtla #3 : 24.11.2017, 15:45 »
Sıfıra bölme hatası veriyo.

Aşağıdaki sorgu satırını değiştirip deneyebilir'misin.

Kod: [Seç]
ISNULL(STL.LINENET/NULLIF(STL.AMOUNT,0),0) AS [SATIŞ FIYAT],

Çevrimdışı ByBirol®

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 18
  • admin@artibilisim.com Logo Çözüm Ortağı
Ynt: Sorguda Hata
« Yanıtla #4 : 24.11.2017, 21:33 »
ROUND(ISNULL(((STL.LINENET)/NULLIF(STL.AMOUNT*(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC),0 )-1),0),2) * 100 AS [KAR ORAN],

daha okunaklı olur .
« Son Düzenleme: 24.11.2017, 21:34 Gönderen: ByBirol® »

Çevrimdışı cousen

  • Logo Uzman Kullanıcı
  • ****
  • Karma: 1
Ynt: Sorguda Hata
« Yanıtla #5 : 25.11.2017, 07:53 »
Söylediğiniz gibi aşağıda ki şekilde sorguda düzettim fakat şimdi de bu hatayı verdi ?



Kod: [Seç]

SELECT
CARİ.CODE AS [KODU],
CARİ.CITY AS [ŞEHİR],
CARİ.DEFINITION_ AS [ÜNVANI],
MLZ.NAME AS [ÜRÜN],
FAT.FICHENO as [FİŞ NO],
STL.DATE_ AS [TARİH],
CASE When stl.DISTDISC>0 THEN 'İsk Uyg.' ELSE 'Liste' end AS [DURUM],
STL.AMOUNT AS [MİKTAR],
(STL.LINENET/STL.AMOUNT) AS [SATIŞ FIYAT],
(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC) AS [Son Alış],
(STl.LINENET) as [SATIŞ TOPLAMI],
(STL.AMOUNT*(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC)) AS [ ALIŞ NET TOPLAM],

ROUND(ISNULL(((STL.LINENET)/NULLIF(STL.AMOUNT*(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC),0 )-1),0),2) * 100 AS [KAR ORAN],


ISNULL(STL.LINENET/NULLIF(STL.AMOUNT,0),0) AS [SATIŞ FIYAT],

FROM
LG_017_01_STLINE AS STL,
LG_017_CLCARD as CARİ,
LG_017_ITEMS AS MLZ,
LG_017_01_INVOICE AS FAT,
LG_017_PRCLIST AS PRC WHERE
STL.CLIENTREF = CARİ.LOGICALREF
AND
STL.STOCKREF = MLZ.LOGICALREF
AND
STL.INVOICEREF = FAT.LOGICALREF
AND
PRC.CARDREF = MLZ.LOGICALREF AND
(STL.TRCODE=8)AND STL.BILLED=1


vedat_ozer

  • Ziyaretçi
Ynt: Sorguda Hata
« Yanıtla #6 : 25.11.2017, 08:30 »
Aşağıdaki sorguyu deneyin.

Kod: [Seç]
SELECT
CARİ.CODE AS [KODU],
CARİ.CITY AS [ŞEHİR],
CARİ.DEFINITION_ AS [ÜNVANI],
MLZ.NAME AS [ÜRÜN],
FAT.FICHENO as [FİŞ NO],
STL.DATE_ AS [TARİH],
CASE When stl.DISTDISC>0 THEN 'İsk Uyg.' ELSE 'Liste' end AS [DURUM],
STL.AMOUNT AS [MİKTAR],
ISNULL(STL.LINENET/NULLIF(STL.AMOUNT,0),0) AS [SATIŞ FIYAT],
(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC) AS [Son Alış],
(STl.LINENET) as [SATIŞ TOPLAMI],
(STL.AMOUNT*(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC)) AS [ ALIŞ NET TOPLAM],

ROUND(ISNULL(((STL.LINENET)/NULLIF(STL.AMOUNT*(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC),0 )-1),0),2) * 100 AS [KAR ORAN]

FROM
LG_017_01_STLINE AS STL,
LG_017_CLCARD as CARİ,
LG_017_ITEMS AS MLZ,
LG_017_01_INVOICE AS FAT,
LG_017_PRCLIST AS PRC WHERE
STL.CLIENTREF = CARİ.LOGICALREF
AND
STL.STOCKREF = MLZ.LOGICALREF
AND
STL.INVOICEREF = FAT.LOGICALREF
AND
PRC.CARDREF = MLZ.LOGICALREF AND
(STL.TRCODE=8)AND STL.BILLED=1

Çevrimdışı cousen

  • Logo Uzman Kullanıcı
  • ****
  • Karma: 1
Ynt: Sorguda Hata
« Yanıtla #7 : 25.11.2017, 08:49 »
Tamamdır Vedat Bey Teşekkür ederim ?

vedat_ozer

  • Ziyaretçi
Ynt: Sorguda Hata
« Yanıtla #8 : 25.11.2017, 08:55 »
Rica Ederim.

Çevrimdışı cousen

  • Logo Uzman Kullanıcı
  • ****
  • Karma: 1
Ynt: Sorguda Hata
« Yanıtla #9 : 25.11.2017, 09:13 »
Son olarak bu sorguya tarih filtresi ekleyebilirmisiniz Vedat Bey ?

vedat_ozer

  • Ziyaretçi
Ynt: Sorguda Hata
« Yanıtla #10 : 25.11.2017, 09:20 »
Sorgunuzun son güncel hali.


Kod: [Seç]
SELECT
CARİ.CODE AS [KODU],
CARİ.CITY AS [ŞEHİR],
CARİ.DEFINITION_ AS [ÜNVANI],
MLZ.NAME AS [ÜRÜN],
FAT.FICHENO as [FİŞ NO],
STL.DATE_ AS [TARİH],
CASE When stl.DISTDISC>0 THEN 'İsk Uyg.' ELSE 'Liste' end AS [DURUM],
STL.AMOUNT AS [MİKTAR],
ISNULL(STL.LINENET/NULLIF(STL.AMOUNT,0),0) AS [SATIŞ FIYAT],
(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF  AND CANCELLED=0   AND  (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC,FTIME DESC) AS [Son Alış],
(STl.LINENET) as [SATIŞ TOPLAMI],
(STL.AMOUNT*(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND CANCELLED=0  AND  (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC,FTIME DESC)) AS [ ALIŞ NET TOPLAM],

ROUND(ISNULL(((STL.LINENET)/NULLIF(STL.AMOUNT*(SELECT TOP 1 PRICE FROM LG_017_01_STLINE WHERE STOCKREF = MLZ.LOGICALREF AND CANCELLED=0 AND  (TRCODE = 1 OR (TRCODE = 14 AND BILLED = 0)) AND LPRODSTAT = 0 AND LINETYPE = 0 ORDER BY DATE_ DESC,FTIME DESC),0 )-1),0),2) * 100 AS [KAR ORAN]

FROM
LG_017_01_STLINE AS STL,
LG_017_CLCARD as CARİ,
LG_017_ITEMS AS MLZ,
LG_017_01_INVOICE AS FAT,
LG_017_PRCLIST AS PRC WHERE
STL.CLIENTREF = CARİ.LOGICALREF
AND
STL.STOCKREF = MLZ.LOGICALREF
AND
STL.INVOICEREF = FAT.LOGICALREF
AND
PRC.CARDREF = MLZ.LOGICALREF AND  stl.CANCELLED=0 AND
(STL.TRCODE=8)AND STL.BILLED=1 AND (STL.DATE_ BETWEEN CONVERT(DATETIME,'01.01.2017',104) AND  CONVERT(DATETIME,'31.12.2017',104))

Çevrimdışı cousen

  • Logo Uzman Kullanıcı
  • ****
  • Karma: 1
Ynt: Sorguda Hata
« Yanıtla #11 : 25.11.2017, 09:22 »
Son olarak bu sorguya tarih filtresi ekleyebilirmisiniz Vedat Bey ?

Birde incelediğim kadarıyla faturanın satırında ki ürünü 10-15 kere yazıyor


vedat_ozer

  • Ziyaretçi
Ynt: Sorguda Hata
« Yanıtla #12 : 25.11.2017, 09:27 »
Sorguları başta kurgusunu ben yapmadım sadece hatalı kısmını düzeltmeye çalıştım.

Sorgudaki amaç nedir ?

Çevrimdışı cousen

  • Logo Uzman Kullanıcı
  • ****
  • Karma: 1
Ynt: Sorguda Hata
« Yanıtla #13 : 25.11.2017, 09:29 »
Fatura Kar Zarar raporu yapmak istiyorum birçok sorgu birleştirdim sonunda sizin yardımlarınız ile bir noktaya geldi tek sorun şuan fatura satırlarının defalarca tekrarlaması gibi görünüyor. Örnek 3 satır fatura aynı satırlar tekrarlanarak 10-15 satır olarak geliyor ?

Çevrimdışı cousen

  • Logo Uzman Kullanıcı
  • ****
  • Karma: 1
Ynt: Sorguda Hata
« Yanıtla #14 : 25.11.2017, 09:37 »
Fatura Kar Zarar raporu yapmak istiyorum birçok sorgu birleştirdim sonunda sizin yardımlarınız ile bir noktaya geldi tek sorun şuan fatura satırlarının defalarca tekrarlaması gibi görünüyor. Örnek 3 satır fatura aynı satırlar tekrarlanarak 10-15 satır olarak geliyor ?

Ayrıca sadece istediğim cari kodu bu sorguda çağırmak istiyorum ?