Forum
Bildirimler
Hepsini Temizle
SQL Server
2
Yazılar
1
Üyeler
0
Reactions
1,597
Görüntüleme
Konu başlatıcı
Merhaba arkadaşlar;
select distinct tbHesapPlani.sKodu ,substring(tbHesapPlani.sKodu ,1, 3), substring(tbHesapPlani.sKodu ,1, 3), '', tbHesapPlani.sAciklama, tbTempKebir.sAciklamaKebir, '', '', Sum (tbMuhasebeFisi.lBorcTutar ),SUM(tbMuhasebeFisi.lAlacakTutar ),
lbakiyeTutar,
Sum (tbMuhasebeFisi.lGirenMiktar), Sum(tbMuhasebeFisi.lCikanMiktar),
lbakiyeMiktar,
0,0 ,0,0
,'' ,'' sBilancoGrup2, '' sAciklamaBilancoGrup2
,'' From tbMuhasebeFisi
inner join ( select tbHesapplani.nHesapId ,sum(lBorcTutar )-sum(lalacaktutar) AS lbakiyeTutar , sum(lgirenMiktar)-sum(lCikanMiktar) AS lbakiyeMiktar
From tbMuhasebeFisi
, tbHesapPlani
Where tbHesapPlani.nHesapID = tbMuhasebeFisi.nHesapID and
dteFisTarihi Between '01/04/2011' and '30/04/2011'
and tbHesapPlani.sKodu between '100' and '101'
group by tbHesapplani.nHesapID
) as Bakiye on Bakiye.nHesapID = tbMuhasebeFisi.nHesapID
, tbHesapPlani
LEFT outer join
(Select sKodu as sKodu,tbHesapPlani.sAciklama as sAciklamakebir
from tbHesapPlani) as tbtempKebir
on tbTempKebir.sKodu=substring(tbHesapPlani.sKodu,1,3 )
Where tbHesapPlani.nHesapID = tbMuhasebeFisi.nHesapID and dteFistarihi between '01/04/2011' and '30/04/2011'
and tbHesapPlani.sKodu between '100' and '101' group by lbakiyetutar,lbakiyemiktar,substring(tbHesapPlani.sKodu ,1, 3), tbHesapPlani.sKodu, tbHesapPlani.sAciklama, tbTempKebir.sAciklamaKebir HAVING abs(Sum (tbMuhasebeFisi.lBorcTutar)-SUM(tbMuhasebeFisi.lAlacakTutar )) between 0 and 99999999999999999 order by substring(tbHesapPlani.sKodu ,1, 3), tbHesapPlani.sKodu, tbHesapPlani.sAciklama compute sum(sum(tbMuhasebeFisi.lBorcTutar)) , sum(sum(tbMuhasebeFisi.lAlacakTutar)), sum(lbakiyeTutar) , Sum (Sum(tbMuhasebeFisi.lGirenMiktar)),
sum (sum(tbMuhasebeFisi.lCikanMiktar)),
sum (lbakiyeMiktar) by
substring(tbHesapPlani.sKodu ,1, 3) compute Sum (sum(tbMuhasebeFisi.lBorcTutar)),
Sum (Sum(tbMuhasebeFisi.lAlacakTutar)),
sum(lBakiyeTutar)
, Sum (sum(tbMuhasebeFisi.lGirenMiktar)),
Sum (Sum(tbMuhasebeFisi.lCikanMiktar)),
sum(lBakiyemiktar)
Nebim programı kullanıyoruz.Nebim üzerinden aldığımız muhasebe mizanı için sql profiler çalıştırdım ve mizanın sql sorgusunu aldım.Aynı sorguyu sql de çalıştırmak istedim ama hata aldım.
Aldığım hata;
Msg242,Level 16,State 3,Line 1
The conversion of a varchar data type to a smalldatetime data type resulted in an out-of-range value
oldu.
Kullandığım sql;
select distinct tbHesapPlani.sKodu ,substring(tbHesapPlani.sKodu ,1, 3), substring(tbHesapPlani.sKodu ,1, 3), '', tbHesapPlani.sAciklama, tbTempKebir.sAciklamaKebir, '', '', Sum (tbMuhasebeFisi.lBorcTutar ),SUM(tbMuhasebeFisi.lAlacakTutar ),
lbakiyeTutar,
Sum (tbMuhasebeFisi.lGirenMiktar), Sum(tbMuhasebeFisi.lCikanMiktar),
lbakiyeMiktar,
0,0 ,0,0
,'' ,'' sBilancoGrup2, '' sAciklamaBilancoGrup2
,'' From tbMuhasebeFisi
inner join ( select tbHesapplani.nHesapId ,sum(lBorcTutar )-sum(lalacaktutar) AS lbakiyeTutar , sum(lgirenMiktar)-sum(lCikanMiktar) AS lbakiyeMiktar
From tbMuhasebeFisi
, tbHesapPlani
Where tbHesapPlani.nHesapID = tbMuhasebeFisi.nHesapID and
dteFisTarihi Between '01/04/2011' and '30/04/2011'
and tbHesapPlani.sKodu between '100' and '101'
group by tbHesapplani.nHesapID
) as Bakiye on Bakiye.nHesapID = tbMuhasebeFisi.nHesapID
, tbHesapPlani
LEFT outer join
(Select sKodu as sKodu,tbHesapPlani.sAciklama as sAciklamakebir
from tbHesapPlani) as tbtempKebir
on tbTempKebir.sKodu=substring(tbHesapPlani.sKodu,1,3 )
Where tbHesapPlani.nHesapID = tbMuhasebeFisi.nHesapID and dteFistarihi between '01/04/2011' and '30/04/2011'
and tbHesapPlani.sKodu between '100' and '101' group by lbakiyetutar,lbakiyemiktar,substring(tbHesapPlani.sKodu ,1, 3), tbHesapPlani.sKodu, tbHesapPlani.sAciklama, tbTempKebir.sAciklamaKebir HAVING abs(Sum (tbMuhasebeFisi.lBorcTutar)-SUM(tbMuhasebeFisi.lAlacakTutar )) between 0 and 99999999999999999 order by substring(tbHesapPlani.sKodu ,1, 3), tbHesapPlani.sKodu, tbHesapPlani.sAciklama compute sum(sum(tbMuhasebeFisi.lBorcTutar)) , sum(sum(tbMuhasebeFisi.lAlacakTutar)), sum(lbakiyeTutar) , Sum (Sum(tbMuhasebeFisi.lGirenMiktar)),
sum (sum(tbMuhasebeFisi.lCikanMiktar)),
sum (lbakiyeMiktar) by
substring(tbHesapPlani.sKodu ,1, 3) compute Sum (sum(tbMuhasebeFisi.lBorcTutar)),
Sum (Sum(tbMuhasebeFisi.lAlacakTutar)),
sum(lBakiyeTutar)
, Sum (sum(tbMuhasebeFisi.lGirenMiktar)),
Sum (Sum(tbMuhasebeFisi.lCikanMiktar)),
sum(lBakiyemiktar)
Çok uzun bir sorgu olduğu için kısım kısım yapayım dedim.Aşağıdaki sorgudan başladım.Ama hata aldım.
SELECT DISTINCT tbhesapplani.sKodu, tbhesapplani.sAciklama,sum (tbmuhasebefisi.lborctutar),sum (tbmuhasebefisi.lalacaktutar),lbakiyetutar from tbmuhasebefisi inner join (select tbhesapplani.nhesapID,sum(lborctutar)-sum (lalacaktutar) AS lbakiyetutar
FROM OPEN2010.dbo.tbhesapplani tbhesapplani,tbmuhasebefisi
WHERE tbhesapplani.nhesapId=tbmuhasebefisi.nhesapID and dtefistarihi between '01/04/2011' and '30/04/2011' and (tbhesapplani.sKodu Between '100' And '101') group by tbhesapplani.nhesapID
FROM OPEN2010.dbo.tbhesapplani tbhesapplani,tbmuhasebefisi
WHERE tbhesapplani.nhesapId=tbmuhasebefisi.nhesapID and dtefistarihi between '01/04/2011' and '30/04/2011' and (tbhesapplani.sKodu Between '100' And '101') group by tbhesapplani.nhesapID
Sizlerden fikir almak istiyorum.
1-Msg242,Level 16,State 3,Line 1 bu satır hatalı sorgularda devamlı karşımıza çıkar anlamı nedir ?
2-Diğer hatanın anlamı nedir ?
3-Kendi yazdığım kısa sorguda hata nerde var ?
4-Sizlerin daha önce kullandığı mizan sorgusu var ise bir örneğini alabilir miyim.Belki kendi sorguma uyarlayabilirim.
5-Sql profiler üzerinden sorguyu direkt alıyorum.Nebimde zaten bu sorguyu kullanıyor.Peki ben kullanınca neden hata veriyor ?
Değerli bilgilerinizi benimle paylaşırsanız sevinirim...
Gönderildi : 07/06/2011 14:11
Konu başlatıcı
Sorunum çözülmüştür.Tarihi convert edince düzeldi...
Gönderildi : 07/06/2011 22:22