Selemlar... Bi Asp.net projesi inceliyorum ona göre de kendime onun benzerini yapacağım.... Daha doğrusu stajımda yaptırıyolar... Fakat sql kodunun içinden çıkamadım... Öyle yazılmış ki okumakla bitmiyo... Tecrübeli arkadaşlardan yardım bekliyorum.... Kod şöyle :
sql = "select convert(char(10),max(tarih),104) as alacakmaxtarih,borcmu,carikod,bag into T1 from chareket where borcmu='A' group by carikod,borcmu,bag select convert(char(10),max(tarih),104) as borcmaxtarih,borcmu,carikod,bag into T2 from chareket where borcmu='B' group by carikod,borcmu,bag SELECT dbo.cari.ckodu, dbo.cari.cunvan, dbo.carihesap.talacak, dbo.carihesap.tborc, dbo.cari.ccinsi, dbo.cari.krbag, case when dbo.carihesap.tborc - dbo.carihesap.talacak >'0' then dbo.carihesap.tborc - dbo.carihesap.talacak end as borcbakiye, case when dbo.carihesap.tborc - dbo.carihesap.talacak <'0' then ABS(dbo.carihesap.tborc - dbo.carihesap.talacak) end as alacakbakiye, dbo.T1.bag,T1.alacakmaxtarih,T1.borcmu,T2.borcmaxtarih,T2.borcmu FROM dbo.cari INNER JOIN dbo.carihesap ON dbo.cari.csira = dbo.carihesap.crbag FULL OUTER JOIN T1 on dbo.cari.csira=dbo.T1.bag FULL OUTER JOIN T2 on dbo.cari.csira=dbo.T2.bag WHERE ckodu between '" & cari_bas_kodu & "' and '" & cari_bit_kodu & "'" + sql + "drop table T1 drop table T2"
Bir kere burada tek bir SQL komutu yok. Komutları ayırırsan, ve de düzenli yazarsan anlaman kolay olur. Yoksa böyle spagetti gibi karma karışık koddan hiç kimse birşey anlamaz.
sql1 = "select convert(char(10),max(tarih),104) as alacakmaxtarih,borcmu,carikod,bag into T1 from chareket where borcmu='A' group by carikod,borcmu,bag"
sql2 = "select convert(char(10),max(tarih),104) as borcmaxtarih,borcmu,carikod,bag into T2 from chareket where borcmu='B' group by carikod,borcmu,bag"
sql3 = "SELECT dbo.cari.ckodu, dbo.cari.cunvan, dbo.carihesap.talacak, dbo.carihesap.tborc, dbo.cari.ccinsi, dbo.cari.krbag, case when dbo.carihesap.tborc - dbo.carihesap.talacak >'0' then dbo.carihesap.tborc - dbo.carihesap.talacak end as borcbakiye, case when dbo.carihesap.tborc - dbo.carihesap.talacak <'0' then ABS(dbo.carihesap.tborc - dbo.carihesap.talacak) end as alacakbakiye, dbo.T1.bag,T1.alacakmaxtarih,T1.borcmu,T2.borcmaxtarih,T2.borcmu FROM dbo.cari INNER JOIN dbo.carihesap ON dbo.cari.csira = dbo.carihesap.crbag FULL OUTER JOIN T1 on dbo.cari.csira=dbo.T1.bag FULL OUTER JOIN T2 on dbo.cari.csira=dbo.T2.bag WHERE ckodu between '" & cari_bas_kodu & "' and '" & cari_bit_kodu & "'"
sql4 = "drop table T1"
sql5 = "drop table T2"
Bu kodlar ardarda çalışıyor. T1 ve T2 isminde ara tablolar, var olan tablolardaki bilgiler kullanılarak oluşturuluyor ve işin sonunda siliniyorlar. Burada sadece sql3 ile sql4 arasında bulunan + sql +" kısmını anlamadım. Anlamsız geldiği için de çıkarttım.
Fakat sql kodunun içinden çıkamadım... Öyle yazılmış ki okumakla bitmiyo... Tecrübeli arkadaşlardan yardım bekliyorum....
Kod şöyle :
sql = "select convert(char(10),max(tarih),104) as alacakmaxtarih,borcmu,carikod,bag into T1 from chareket where borcmu='A' group by carikod,borcmu,bag select convert(char(10),max(tarih),104) as borcmaxtarih,borcmu,carikod,bag into T2 from chareket where borcmu='B' group by carikod,borcmu,bag SELECT dbo.cari.ckodu, dbo.cari.cunvan, dbo.carihesap.talacak, dbo.carihesap.tborc, dbo.cari.ccinsi, dbo.cari.krbag, case when dbo.carihesap.tborc - dbo.carihesap.talacak >'0' then dbo.carihesap.tborc - dbo.carihesap.talacak end as borcbakiye, case when dbo.carihesap.tborc - dbo.carihesap.talacak <'0' then ABS(dbo.carihesap.tborc - dbo.carihesap.talacak) end as alacakbakiye, dbo.T1.bag,T1.alacakmaxtarih,T1.borcmu,T2.borcmaxtarih,T2.borcmu FROM dbo.cari INNER JOIN dbo.carihesap ON dbo.cari.csira = dbo.carihesap.crbag FULL OUTER JOIN T1 on dbo.cari.csira=dbo.T1.bag FULL OUTER JOIN T2 on dbo.cari.csira=dbo.T2.bag WHERE ckodu between '" & cari_bas_kodu & "' and '" & cari_bit_kodu & "'" + sql + "drop table T1 drop table T2"
Sanırm halimi anlamışsınızdır... Şimdiden teşekkür ederim...
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi k.o.r -- 1 Ağustos 2008; 11:54:51 >