lostyazilim
tr.link

Mysql'de Yazılmış Rapor Kodlarımı MSSQL Nasıl Çevirebilriim ?

6 Mesajlar 1.259 Okunma
lstbozum
tr.link

Anarchosa Anarchosa WM Aracı Kullanıcı
  • Üyelik 23.04.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Akademik
  • Konum Ankara
  • Ad Soyad M** K**
  • Mesajlar 860
  • Beğeniler 47 / 49
  • Ticaret 2, (%100)

CREATE DEFINER=`root`@`%` PROCEDURE `AylikAlisToplami`(Qilktarih datetime,Qsontarih datetime,QStok varchar(8000),QGrup varchar(8000),QMarka varchar(8000),QCari varchar(8000),QCGrup varchar (8000),QLokasyon varchar(8000))

BEGIN

SET lc_time_names='tr_TR';

Select date_format(a.tarih,'%M-%Y') Aylar,sum(d.tutar_ara*d.doviz_kur) AlisTutari,sum(case when a.belge_tip in (3,7) then d.tutar_ara*d.doviz_kur else 0 end) IadeTutari, sum((d.iskontosuz_tutar-d.tutar_satir)*d.doviz_kur) IndirimTutari, sum(d.kdv_tutar*d.doviz_kur) KdvTutari, count(DISTINCT a.id) IslemSayisi, EXTRACT(YEAR FROM a.tarih) Yıl, EXTRACT(MONTH FROM a.tarih) Ay

From belge a 

Join belge_detay d on (a.id = d.belge_id)

Join cari c on (a.cari_id = c.id)

Join cari_grup cg on (cg.id=c.cari_grup_id)

Join tnm_kullanici p on (a.tnm_kullanici_id = p.id)

Join tnm_lokasyon l on (a.tnm_lokasyon_id = l.id)

Join stok s on (d.stok_id = s.id)

Join stok_grup sg on (sg.id=s.stok_grup_id)

join tip_belge tb on (tb.id=a.belge_tip)

Where tb.tip=1

and (d.tarih BETWEEN Qilktarih and QSonTarih)

and ('' IN (QStok) OR  FIND_IN_SET(s.id,QStok))

and ('' IN (QGrup) OR  FIND_IN_SET(sg.id,QGrup))

and ('' IN (QMarka) OR  FIND_IN_SET(s.stok_marka_id,QMarka))

and ('' IN (QCari) OR  FIND_IN_SET(c.id,QCari))

and ('' IN (QCGrup) OR  FIND_IN_SET(c.cari_grup_id,QCGrup))

and ('' IN (QLokasyon) OR  FIND_IN_SET(d.tnm_lokasyon_id,QLokasyon))

Group By date_format(a.tarih,'%M-%Y'), EXTRACT(YEAR FROM a.tarih), EXTRACT(MONTH FROM a.tarih)

Order By 6 Asc, 7 Asc,Ay;

 

END

 

Bunun gibi örnek kodlarım mevcut, MSSQL nasıl çevirebilrim mantığı nasıldır yardımcı olabilirmisiniz?

 

 

wmaraci
reklam

129926 129926 WM Aracı Anonim Üyelik
  • Üyelik 30.05.2021
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 434
  • Beğeniler 211 / 211
  • Ticaret 41, (%100)

Anarchosa adlı üyeden alıntı

CREATE DEFINER=`root`@`%` PROCEDURE `AylikAlisToplami`(Qilktarih datetime,Qsontarih datetime,QStok varchar(8000),QGrup varchar(8000),QMarka varchar(8000),QCari varchar(8000),QCGrup varchar (8000),QLokasyon varchar(8000))

BEGIN

SET lc_time_names='tr_TR';

Select date_format(a.tarih,'%M-%Y') Aylar,sum(d.tutar_ara*d.doviz_kur) AlisTutari,sum(case when a.belge_tip in (3,7) then d.tutar_ara*d.doviz_kur else 0 end) IadeTutari, sum((d.iskontosuz_tutar-d.tutar_satir)*d.doviz_kur) IndirimTutari, sum(d.kdv_tutar*d.doviz_kur) KdvTutari, count(DISTINCT a.id) IslemSayisi, EXTRACT(YEAR FROM a.tarih) Yıl, EXTRACT(MONTH FROM a.tarih) Ay

From belge a 

Join belge_detay d on (a.id = d.belge_id)

Join cari c on (a.cari_id = c.id)

Join cari_grup cg on (cg.id=c.cari_grup_id)

Join tnm_kullanici p on (a.tnm_kullanici_id = p.id)

Join tnm_lokasyon l on (a.tnm_lokasyon_id = l.id)

Join stok s on (d.stok_id = s.id)

Join stok_grup sg on (sg.id=s.stok_grup_id)

join tip_belge tb on (tb.id=a.belge_tip)

Where tb.tip=1

and (d.tarih BETWEEN Qilktarih and QSonTarih)

and ('' IN (QStok) OR  FIND_IN_SET(s.id,QStok))

and ('' IN (QGrup) OR  FIND_IN_SET(sg.id,QGrup))

and ('' IN (QMarka) OR  FIND_IN_SET(s.stok_marka_id,QMarka))

and ('' IN (QCari) OR  FIND_IN_SET(c.id,QCari))

and ('' IN (QCGrup) OR  FIND_IN_SET(c.cari_grup_id,QCGrup))

and ('' IN (QLokasyon) OR  FIND_IN_SET(d.tnm_lokasyon_id,QLokasyon))

Group By date_format(a.tarih,'%M-%Y'), EXTRACT(YEAR FROM a.tarih), EXTRACT(MONTH FROM a.tarih)

Order By 6 Asc, 7 Asc,Ay;

 

END

 

Bunun gibi örnek kodlarım mevcut, MSSQL nasıl çevirebilrim mantığı nasıldır yardımcı olabilirmisiniz?

Merhaba

Belirli farklar olsa da genel olarak sorgular aynıdır.

Bu gönderdiğiniz MySQL kodunun MSSQL karşılığı aşağıdaki gibidir:

 

Select date_format(a.tarih,'-') Aylar,sum(d.tutar_ara*d.doviz_kur) AlisTutari,sum(case when a.belge_tip in (3,7) then d.tutar_ara*d.doviz_kur else 0 end) IadeTutari, sum((d.iskontosuz_tutar-d.tutar_satir)*d.doviz_kur) IndirimTutari, sum(d.kdv_tutar*d.doviz_kur) KdvTutari, count(DISTINCT a.id) IslemSayisi, YEAR(a.tarih) Yıl, MONTH(a.tarih) Ay

 

From belge a 

 

Join belge_detay d on (a.id = d.belge_id)

Join cari c on (a.cari_id = c.id)

Join cari_grup cg on (cg.id=c.cari_grup_id)

Join tnm_kullanici p on (a.tnm_kullanici_id = p.id)

Join tnm_lokasyon l on (a.tnm_lokasyon_id = l.id)

Join stok s on (d.stok_id = s.id)

Join stok_grup sg on (sg.id=s.stok_grup_id)

join tip_belge tb on (tb.id=a.belge_tip)

 

Where tb.tip=1

 

and (d.tarih BETWEEN @Qilktarih and @Qsontarih)

and ('' IN (@QStok) OR  dbo.FIND_IN_SET(s.id,@QStok))

and ('' IN (@QGrup) OR  dbo.FIND_IN_SET(sg.id,@QGrup))

and ('' IN (@QMarka) OR  dbo.FIND_IN_SET(s.stok_marka_id,@QMarka))

and ('' IN (@QCari) OR  dbo.FIND_IN_SET(c.id,@QCari))

and ('' IN (@QCGrup) OR  dbo.FIND_IN_SET(c.cari_grup_id,@QCGrup))

and ('' IN (@QLokasyon) OR  dbo.FIND_IN_SET(d.tnm_lokasyon_id,@QLokasyon))

 

Group By date_format(a.tarih,'-'), YEAR(a.tarih), MONTH(a.tarih)

 

Order By 6 Asc, 7 Asc,Ay;

 

END;

GO

 

 

 

Anarchosa Anarchosa WM Aracı Kullanıcı
  • Üyelik 23.04.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Akademik
  • Konum Ankara
  • Ad Soyad M** K**
  • Mesajlar 860
  • Beğeniler 47 / 49
  • Ticaret 2, (%100)

Elinize sağlık çok değerli vaktiniz için, mantığını anlamak istiyorumda elimde 40 raporum var çünkü ben öğrenip yapmak istiyorum

 

 

129926 129926 WM Aracı Anonim Üyelik
  • Üyelik 30.05.2021
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 434
  • Beğeniler 211 / 211
  • Ticaret 41, (%100)

Anarchosa adlı üyeden alıntı

Elinize sağlık çok değerli vaktiniz için, mantığını anlamak istiyorumda elimde 40 raporum var çünkü ben öğrenip yapmak istiyorum

Merhabalar

Rica ederim, ne demek. Umarım işinize yaramıştır.

Sorunuza gelince, aslında cevabı yazmıştım. Burada mantık  -MySQL sorgularının MSSQL de karşılığıdır. Veritabanı ile çalışmayı ve komutları öğrenmeniz gerekiyor. 

 

Anarchosa

kişi bu mesajı beğendi.

wmaraci
wmaraci

Anarchosa Anarchosa WM Aracı Kullanıcı
  • Üyelik 23.04.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Akademik
  • Konum Ankara
  • Ad Soyad M** K**
  • Mesajlar 860
  • Beğeniler 47 / 49
  • Ticaret 2, (%100)

ReşatTürksoy adlı üyeden alıntı

Merhabalar

Rica ederim, ne demek. Umarım işinize yaramıştır.

Sorunuza gelince, aslında cevabı yazmıştım. Burada mantık  -MySQL sorgularının MSSQL de karşılığıdır. Veritabanı ile çalışmayı ve komutları öğrenmeniz gerekiyor. 

 

 Verdiğiniz kodu mssql calsitirdim hata verdi 

 

 

129926 129926 WM Aracı Anonim Üyelik
  • Üyelik 30.05.2021
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 434
  • Beğeniler 211 / 211
  • Ticaret 41, (%100)

Anarchosa adlı üyeden alıntı

 Verdiğiniz kodu mssql calsitirdim hata verdi 

Merhaba

Aldığınız hata nedir? Detaylandırmanız gerekiyor. Ne yaptım, nasıl yaptım ve sonuç şu oldu diye. Detaylı.

Aksi durumda destek alamazsınız. Sorunu detaylandırın, belki forumun diğer üyeleri de size destek olmak için yorumda bulunurlar. 

 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al