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

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
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
 
Katılım
22 Temmuz 2009
Mesajlar
14
Excel Vers. ve Dili
office 2003
zafer bey çok teşekkürler ilginiz için ama ekteki hatayı aldım ne yazıkki :(
 

Ekli dosyalar

  • 97.4 KB Görüntüleme: 16
Katılım
22 Temmuz 2009
Mesajlar
14
Excel Vers. ve Dili
office 2003
yaptım abi sonda bi hata vardı senle alakalı olmayan.ALLAH RAZI OLSUN.
Saygılarımla.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
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)
 
Üst