sqlde hesaplama
Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: SQL
Forum Adı: SQL Veri Tabanı İşlemleri
Forum Tanımlaması: Table,View,Trigger,SELECT,UPDATE,INSERT...
URL: http://www.erpne.org/forum_posts.asp?TID=1029
Tarih: 23 Kasım 2024 Saat 09:53 Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com
Konu: sqlde hesaplama
Mesajı Yazan: burakerdemir
Konu: sqlde hesaplama
Mesaj Tarihi: 22 Temmuz 2008 Saat 12:07
Merhaba Arkadaslar, sqlde rahatça view hazirliyabiliyorum ama hesaplama nasil yapabilirim bilmiyorum. anlik satislari görmek için bir view hazirladim. onunla excel pivot table ile verileri çekiyorum. ama degisik döviz türü olan satislari tek bir döviz türüne dönüstürmek için viewde nasil bir hesaplama yapabilirim? viewde FATUIRS, CASABIT ve DOVIZ table'larini ekledim. burda amacim euro ile olan satislarin dolar karsiliklarini bulmak. çok basit bir cümle yazdim ama mantik olarakda çalismayacagini da bilmiyorum. ama deneme yanilma yöntemiyle bulmaya çalisiyorum. cümle söyleydi; (CASE TBLFATUIRS.DOVIZTIP WHEN '1' THEN TBLFATUIRS.DOVIZTUT WHEN '2' THEN TBLFATUIRS.DOVIZTUT * DOVIZ.DOV_SATIS END) bu dolarida bulmuyor ama hesaplama mantigini bulmaya çalisiyorum. yardimlariniz için simdiden tesekkürler
------------- Burak Erdemir
|
Cevaplar:
Mesajı Yazan: mbaykan
Mesaj Tarihi: 22 Temmuz 2008 Saat 12:16
yazim hatasi var gibi geliyor dogrusu, (CASE WHEN TBLFATUIRS.DOVIZTIP='1' THEN TBLFATUIRS.DOVIZTUT WHEN TBLFATUIRS.DOVIZTIP='2' THEN TBLFATUIRS.DOVIZTUT * DOVIZ.DOV_SATIS END) seklinde olmali.
------------- Mehmet Baykan
|
Mesajı Yazan: burakerdemir
Mesaj Tarihi: 22 Temmuz 2008 Saat 12:22
be yazdigim örnegi netsis'in kendi bir view'inden almistim. sizin yaptiginiz gibi düzenledim. aldigim hata Invalid column name 'DOLARTUTAR'
------------- Burak Erdemir
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 22 Temmuz 2008 Saat 12:26
ben NETSIS veritabaninda söyle bir view olustudum öncelikle
CREATE VIEW [dbo].[MV_DVZKUR] AS SELECT dbo.DOVIZ.TARIH,dbo.KUR.BIRIM, SUM(case WHEN LEFT(dbo.KUR.ISIM,3)='USD' THEN DOV_ALIS ELSE 0 END) AS USD_AL, SUM(CASE WHEN LEFT(dbo.KUR.ISIM,3)='EUR' THEN DOV_ALIS ELSE 0 END) AS EURO_AL, SUM(case WHEN LEFT(dbo.KUR.ISIM,3)='USD' THEN DOV_SATIS ELSE 0 END) AS USD_SAT, SUM(CASE WHEN LEFT(dbo.KUR.ISIM,3)='EUR' THEN DOV_SATIS ELSE 0 END) AS EURO_SAT
FROM dbo.DOVIZ INNER JOIN dbo.KUR ON dbo.DOVIZ.SIRA = dbo.KUR.SIRA and dbo.DOVIZ.TARIH > '2001-12-31' AND LEFT(dbo.KUR.ISIM,3) IN ('USD','EUR')
GROUP BY TARIH,BIRIM
bu view'i istedigim tablolara/view'lar TARIH sütunu ile baglayarak kullaniyorum buradaki sütunlarda USD_AL, USD_SAT ve EUR_AL, EUR_SAT sütunlarini kullaniyorum
------------- Mehmet Baykan
|
Mesajı Yazan: burakerdemir
Mesaj Tarihi: 22 Temmuz 2008 Saat 12:34
Tesekkürler Mehmet Bey,çok yardimci olacak bu view. peki ben bunda euro/dolar paritesini nasil hesapliyabilirim?
------------- Burak Erdemir
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 22 Temmuz 2008 Saat 12:38
SELECT A.TARIH,DOVIZTIP,DOVIZTUT,CASE WHEN DOVIZTIP='1' THEN DOVIZTUT WHEN DOVIZTIP='7' THEN DOVIZTUT*(EURO_AL/USD_AL) END AS USD_TUTAR FROM TBLFATUIRS A,NETSIS..MV_DVZKUR B WHERE A.TARIH=B.TARIH
yukarida '7' olan bizde EURO'ya karsilik geliyor sizde farkli bir deger olabilir, '1' ise USD'ye kolay gelsin
------------- Mehmet Baykan
|
Mesajı Yazan: Conari
Mesaj Tarihi: 22 Temmuz 2008 Saat 15:47
Bende söyle bir fonksiyon yazmistim. Dolara göre diger dövizlerin paritesi
USD bizdeki karsiligi =2 dir.Kullanimi
dbo .parite('2008-07-22',3) //3 Sek oldugu için dolar sek paritesidir.
siz kullanirken dbo.parite(sthar_tarih,sthar_dövtip)*sthar_gcmik
olarak kullanabilirsiniz.
CREATE function [dbo].[parite](@tar smalldatetime,@Doviz int) returns decimal(28,8) as
begin
declare @USDkur decimal(28,8)
declare @Othkur decimal(28,8)
declare @parite decimal(28,8)
set @USDkur=(select top 1 dov_alis from netsis..doviz
where sira= 2
and tarih <= @tar
ORDER BY TARIH DESC)
set @Othkur=(select top 1 dov_alis from netsis..doviz
where sira= @Doviz
and tarih <= @tar
ORDER BY TARIH DESC)
set @parite=round((@USDkur/@Othkur),5)
return (@parite)
end
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
Mesajı Yazan: bluewin
Mesaj Tarihi: 28 Temmuz 2008 Saat 00:32
merhabalar ben bursada oturuyorum ve netsis kullanmaya calisiyorum :) yaninda sql le sorgulama yapmaya calisiyorum .Fakat henüz bu konularda yeniyim ,isin özü birebir ders verecek sql bilgisi olan (ücretli yada ALLAH rizasi icin ) arkadaslar dan yardimlarini istiyorum lütfen yardimci olun ALLAH kimseyi zorda birakmasin .zordayim ve yardima son derece acigim
saygilarimla .koray_akcay_23@hotmail.com
|
Mesajı Yazan: Conari
Mesaj Tarihi: 28 Temmuz 2008 Saat 08:44
Arkadasim Allah kimseyi zorda birakmasin(Amin). Istanbul'dayim,siteden elimden geldigimce yardimci olmaya çalisirim.
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
|