Sql sorgusuyla gelen veri değerini çarptırma

Katılım
22 Temmuz 2009
Mesajlar
14
Excel Vers. ve Dili
office 2003
Merhabalar sayın üstadlarım.

Ekteki dosyada kullanmış olduğum sorgu cümlesinde gelen verilerde a sutununda 1 ve 2 numaralı veriler gelmektedir.1 numara = satış 2 numara = iade anlamına geliyor. 2 numaralı sutun verisinin karşısındaki tüm değerleri nasıl eksiye çevirebilirim acaba ? Bu işin ehli arkadaşların bana yardımcı olmasını rica ediyorum şimdiden teşekkürler.
 

Ekli dosyalar

Merhaba

sql'de yeni bir view yaratın ve kodları oraya yapıştırın
Toplam tutar kısmında case deyimine bakınız.

Kod:
  SELECT     LG_110_02_ORFICHE.TRCODE AS [Siparis  TURU], LG_110_CLCARD.DEFINITION_ AS [CARi HESAP], LG_110_02_ORFICHE.DATE_ AS TARiH, 
                        MONTH(LG_110_02_ORFICHE.DATE_) AS AY, LG_110_02_ORFICHE.FICHENO AS [SiPARiŞ NO], LG_110_02_ORFLINE.SOURCEINDEX AS AMBAR, 
                        LG_110_02_ORFLINE.LINETYPE AS [SATiR TURU], LG_110_ITEMS.CODE AS [MALZEME KODU], LG_110_ITEMS.SPECODE AS [MALZEME TURU], 
                        LG_110_ITEMS.STGRPCODE AS MARKA, 1 * LG_110_02_ORFLINE.AMOUNT AS ADET, 1 * LG_110_02_ORFLINE.PRICE AS [BiRiM FiYAT], 
                        CASE LG_110_02_ORFICHE.TRCODE WHEN 1 THEN LG_110_02_ORFLINE.TOTAL WHEN 2 THEN LG_110_02_ORFLINE.TOTAL * - 1 END AS [TOPLAM TUTAR],
                         1 * LG_110_02_ORFLINE.TOTAL - LG_110_02_ORFLINE.LINENET AS INDIRIM, LG_110_02_ORFLINE.LINENET AS [NET TUTAR], 
                        1 * LG_110_02_ORFLINE.VATAMNT AS KDV, 1 * LG_110_02_ORFLINE.LINENET + LG_110_02_ORFLINE.VATAMNT AS [TOPLAM KDV DAHiL], 
                        L_CAPIWHOUSE.NAME AS MAGAZA, LG_110_02_ORFICHE.SPECODE, LG_110_02_ORFLINE.VAT AS [KDV ORANI]
  FROM         dbo.LG_110_02_ORFLINE AS LG_110_02_ORFLINE INNER JOIN
                        dbo.LG_110_02_ORFICHE AS LG_110_02_ORFICHE ON LG_110_02_ORFLINE.ORDFICHEREF = LG_110_02_ORFICHE.LOGICALREF INNER JOIN
                        dbo.LG_110_ITEMS AS LG_110_ITEMS ON LG_110_02_ORFLINE.STOCKREF = LG_110_ITEMS.LOGICALREF INNER JOIN
                        dbo.LG_110_CLCARD AS LG_110_CLCARD ON LG_110_02_ORFICHE.CLIENTREF = LG_110_CLCARD.LOGICALREF INNER JOIN
                        dbo.L_CAPIWHOUSE AS L_CAPIWHOUSE ON LG_110_02_ORFICHE.SOURCEINDEX = L_CAPIWHOUSE.NR
  WHERE     (LG_110_02_ORFLINE.LINETYPE = 0) AND (LG_110_02_ORFICHE.CANCELLED = 0) AND (L_CAPIWHOUSE.FIRMNR = 110) AND 
                        (LG_110_02_ORFICHE.TRCODE = 1) AND (MONTH(LG_110_02_ORFICHE.DATE_) > 0) OR
                        (LG_110_02_ORFLINE.LINETYPE = 0) AND (LG_110_02_ORFICHE.CANCELLED = 0) AND (L_CAPIWHOUSE.FIRMNR = 110) AND 
                        (LG_110_02_ORFICHE.TRCODE = 1) AND (MONTH(LG_110_02_ORFICHE.DATE_) > 0) OR
                        (LG_110_02_ORFLINE.LINETYPE = 0) AND (LG_110_02_ORFICHE.CANCELLED = 0) AND (L_CAPIWHOUSE.FIRMNR = 110) AND 
                        (LG_110_02_ORFICHE.TRCODE = 1) AND (MONTH(LG_110_02_ORFICHE.DATE_) > 0) OR
                        (LG_110_02_ORFLINE.LINETYPE = 0) AND (LG_110_02_ORFICHE.CANCELLED = 0) AND (L_CAPIWHOUSE.FIRMNR = 110) AND
 
zafer bey çok teşekkürler ilginiz için ama ekteki hatayı aldım ne yazıkki :(
 

Ekli dosyalar

  • 1.JPG
    1.JPG
    97.4 KB · Görüntüleme: 16
yaptım abi sonda bi hata vardı senle alakalı olmayan.ALLAH RAZI OLSUN.
Saygılarımla.
 
Merhaba


Kdv , Adet eklenmiştir

Case komutunu incelerseniz istediğinizi yapabilirsiniz

Case xx when 1 then aa when 2 then bb and

xx 1 iken aa 2 iken bb

veya

xx eğer 1 ise aa eğer 2 ise bb



Kod:
  SELECT     LG_110_02_ORFICHE.TRCODE AS [Siparis  TURU], LG_110_CLCARD.DEFINITION_ AS [CARi HESAP], LG_110_02_ORFICHE.DATE_ AS TARiH, 
                        MONTH(LG_110_02_ORFICHE.DATE_) AS AY, LG_110_02_ORFICHE.FICHENO AS [SiPARiŞ NO], LG_110_02_ORFLINE.SOURCEINDEX AS AMBAR, 
                        LG_110_02_ORFLINE.LINETYPE AS [SATiR TURU], LG_110_ITEMS.CODE AS [MALZEME KODU], LG_110_ITEMS.SPECODE AS [MALZEME TURU], 
                        LG_110_ITEMS.STGRPCODE AS MARKA, 
                        [COLOR=Red]CASE LG_110_02_ORFICHE.TRCODE WHEN 1 THEN LG_110_02_ORFLINE.AMOUNT WHEN 2 THEN LG_110_02_ORFLINE.AMOUNT * - 1 END [COLOR=Black]AS ADET[/COLOR][/COLOR],
                         1 * LG_110_02_ORFLINE.PRICE AS [BiRiM FiYAT], 
                        CASE LG_110_02_ORFICHE.TRCODE WHEN 1 THEN LG_110_02_ORFLINE.TOTAL WHEN 2 THEN LG_110_02_ORFLINE.TOTAL * - 1 END AS [TOPLAM TUTAR],
                         1 * LG_110_02_ORFLINE.TOTAL - LG_110_02_ORFLINE.LINENET AS INDIRIM, LG_110_02_ORFLINE.LINENET AS [NET TUTAR], 
                        1 * LG_110_02_ORFLINE.VATAMNT AS KDV, 
                       [COLOR=Red] [/COLOR][COLOR=Red]CASE LG_110_02_ORFICHE.TRCODE WHEN 1 THEN (LG_110_02_ORFLINE.LINENET + LG_110_02_ORFLINE.VATAMNT) [/COLOR]
  [COLOR=Red]                      WHEN 2 THEN (LG_110_02_ORFLINE.LINENET + LG_110_02_ORFLINE.VATAMNT) * - 1 END[/COLOR] AS [TOPLAM KDV DAHiL], 
                        L_CAPIWHOUSE.NAME AS MAGAZA, LG_110_02_ORFICHE.SPECODE, LG_110_02_ORFLINE.VAT AS [KDV ORANI]
  FROM         dbo.LG_110_02_ORFLINE AS LG_110_02_ORFLINE INNER JOIN
                        dbo.LG_110_02_ORFICHE AS LG_110_02_ORFICHE ON LG_110_02_ORFLINE.ORDFICHEREF = LG_110_02_ORFICHE.LOGICALREF INNER JOIN
                        dbo.LG_110_ITEMS AS LG_110_ITEMS ON LG_110_02_ORFLINE.STOCKREF = LG_110_ITEMS.LOGICALREF INNER JOIN
                        dbo.LG_110_CLCARD AS LG_110_CLCARD ON LG_110_02_ORFICHE.CLIENTREF = LG_110_CLCARD.LOGICALREF INNER JOIN
                        dbo.L_CAPIWHOUSE AS L_CAPIWHOUSE ON LG_110_02_ORFICHE.SOURCEINDEX = L_CAPIWHOUSE.NR
  WHERE     (L_CAPIWHOUSE.FIRMNR = 110) AND (LG_110_02_ORFLINE.LINETYPE = 0) AND (LG_110_02_ORFICHE.CANCELLED = 0) AND 
                        (LG_110_02_ORFICHE.TRCODE = 1) AND (MONTH(LG_110_02_ORFICHE.DATE_) > 0) OR
                        (L_CAPIWHOUSE.FIRMNR = 110) AND (LG_110_02_ORFLINE.LINETYPE = 0) AND (LG_110_02_ORFICHE.CANCELLED = 0) AND 
                        (LG_110_02_ORFICHE.TRCODE = 1) AND (MONTH(LG_110_02_ORFICHE.DATE_) > 0) OR
                        (L_CAPIWHOUSE.FIRMNR = 110) AND (LG_110_02_ORFLINE.LINETYPE = 0) AND (LG_110_02_ORFICHE.CANCELLED = 0) AND 
                        (LG_110_02_ORFICHE.TRCODE = 1) AND (MONTH(LG_110_02_ORFICHE.DATE_) > 0) OR
                        (L_CAPIWHOUSE.FIRMNR = 110) AND (LG_110_02_ORFLINE.LINETYPE = 0) AND (LG_110_02_ORFICHE.CANCELLED = 0) AND 
                        (LG_110_02_ORFICHE.TRCODE = 1) AND (MONTH(LG_110_02_ORFICHE.DATE_) > 0)
 
Geri
Üst