Logo Destek

Database => SQL => Konuyu başlatan: ehliyet - 13.05.2020, 14:02

Başlık: Ürün Listesi SQL Hata
Gönderen: ehliyet - 13.05.2020, 14:02
Kod: [Seç]
SELECT

ITM.CODE AS URUNKODU,
ITM.NAME AS URUNADI,
ITM.PRODUCERCODE  AS ÜRETİCİODU,
SUP.ICUSTSUPCODE AS [MÜŞTERİ ÜRÜN KODU],
SUP.ICUSTSUPNAME  AS [MÜŞTERİ ÜRÜN AÇIKLAMASI],
SUP.ICUSTSUPBARCODE AS [MÜŞTERİ BARKODU],
CLC.CODE AS [MÜŞTERİ KODU],
CLC.DEFINITION_ AS MÜŞTERİ,
ITM.SPECODE4 AS BÖLÜM,
ITM.SPECODE3 AS CİNS,
ITM.SHELFLIFE AS RAFÖMRÜ,
ITU2.CONVFACT2 AS ADET_MIKTAR,
ITU1.CONVFACT2 AS KOLI_MIKTAR,
ITU1.CONVFACT2 /ITU2.CONVFACT2 AS [KOLİ İÇİ ADET],
UNI.BARCODE AS KG_BARKOD1,
UNI1.BARCODE AS KG_BARKOD2,
UNI2.BARCODE AS ADET_BARKOD1,
UNI3.BARCODE AS ADET_EAN,
UNI4.BARCODE AS ADET_EAN_KOLI_BARKOD,
UNI5.BARCODE AS KG_EAN_KOLI_BARKOD,
SERI_LOT_TAKIP=CASE
WHEN ITM.TRACKTYPE='0' THEN 'İzleme yapılmayacak'
WHEN ITM.TRACKTYPE='1' THEN 'Lot(parti) numarası'
WHEN ITM.TRACKTYPE='2' THEN 'Seri numarası'
ELSE ''
END ,
ITM.CAPIBLOCK_CREADEDDATE AS OLUŞTURMA_TARİHİ,
ITM.SPECODE5,
ITM.SPECODE2





FROM LG_040_ITEMS ITM

LEFT OUTER  JOIN LG_040_SUPPASGN SUP ON  SUP.ITEMREF=ITM.LOGICALREF
LEFT OUTER  JOIN LG_040_CLCARD CLC ON SUP.CLIENTREF=CLC.LOGICALREF
LEFT OUTER  JOIN LG_040_UNITBARCODE UNI WITH(NOLOCK) ON UNI.ITEMREF=ITM.LOGICALREF AND UNI.UNITLINEREF='27' AND UNI.LINENR='1'
LEFT OUTER  JOIN LG_040_UNITBARCODE UNI1 WITH(NOLOCK) ON UNI1.ITEMREF=ITM.LOGICALREF AND UNI1.UNITLINEREF='27' AND UNI1.LINENR='2'
LEFT OUTER  JOIN LG_040_UNITBARCODE UNI2 WITH(NOLOCK) ON UNI2.ITEMREF=ITM.LOGICALREF AND UNI2.UNITLINEREF='28' AND UNI2.LINENR='1'
LEFT OUTER  JOIN LG_040_UNITBARCODE UNI3 WITH(NOLOCK) ON UNI3.ITEMREF=ITM.LOGICALREF AND UNI3.UNITLINEREF='28' AND UNI3.LINENR='2'
LEFT OUTER  JOIN LG_040_UNITBARCODE UNI4 WITH(NOLOCK) ON UNI4.ITEMREF=ITM.LOGICALREF AND UNI4.UNITLINEREF='29' AND UNI4.LINENR='1'
LEFT OUTER  JOIN LG_040_UNITBARCODE UNI5 WITH(NOLOCK) ON UNI5.ITEMREF=ITM.LOGICALREF AND UNI5.UNITLINEREF='26' AND UNI5.LINENR='1'
LEFT OUTER JOIN LG_040_ITMUNITA ITU1 WITH(NOLOCK) ON ITM.LOGICALREF=ITU1.ITEMREF AND ITU1.UNITLINEREF='29'AND ITU1.LINENR='3'
LEFT OUTER JOIN LG_040_ITMUNITA ITU2 WITH(NOLOCK) ON ITM.LOGICALREF=ITU2.ITEMREF AND ITU2.UNITLINEREF='28'AND ITU2.LINENR='2'

WHERE ITM.ACTIVE='0'  AND ITM.CARDTYPE <> '4'

Arkadaşlar yukarıdaki kodu çalıştırdığım zaman hata vermeye başladı

Msg 8134, Level 16, State 1, Line 16
Divide by zero error encountered.


Bu hatayı neden verir bilgisi olan var mı.?
Başlık: Ynt: Ürün Listesi SQL Hata
Gönderen: ehliyet - 13.05.2020, 16:00
Bir yere kadar geldim ama kafa basmıyor artık
--ITU1.CONVFACT2 /ITU2.CONVFACT2 AS [KOLİ İÇİ ADET],

bu satırı kaldırınca düzeliyor ama nerede hata yapıyorum acaba
Başlık: Ynt: Ürün Listesi SQL Hata
Gönderen: ehliyet - 13.05.2020, 16:11
Sorunu çözdüm arkadaşlar

Çevrim Katsayılarında
Adet biriminin Kg karşılığına sıfır yazıldığı için hata veriyormuş düzeldi şimdi.

Teşekkür ederim. 
Başlık: Ynt: Ürün Listesi SQL Hata
Gönderen: hyponectia - 13.05.2020, 16:51
ITU1.CONVFACT2 /NULLIF(ITU2.CONVFACT2,0) ile de çözülebilir ama datayı düzeltmişsiniz :) 
Başlık: Ynt: Ürün Listesi SQL Hata
Gönderen: ehliyet - 17.09.2020, 09:54
Teşekkür etmem biraz geç oldu ama teşekkür ederim. Bu bilgi iyi oldu
Başlık: Ynt: Ürün Listesi SQL Hata
Gönderen: ByBirol® - 19.09.2020, 22:35
yukarıdaki şekilde de hata alma olasılınız var , kesin çözüm

ISNULL(TU1.CONVFACT2 /NULLIF(ITU2.CONVFACT2,0),= şeklindedir.