Incorrect syntax near the keyword 'AS' hatası sql
#1
iyi akşamlar

aşağıdaki sorguyu çalıştırdığımda "Incorrect syntax near the keyword 'AS'." hatası veriyor. hata satırını kod içerisinde bold durumda. bu sorunu nasıl çözebilirim. kodu sqlde çalıştırıyorum. accessde sorun çıkartmıyor ama sqlde bir dünya hata veriyor. hataları kendimce çözmeye çalıştım. ama bu sorunu bir türlü geçemdim. yardımınıza ihtiyacım var.. şimdiden tşkler




SELECT t4.DoktAdiSoyadi, t4.SiparisTarihi, t4.satis, t4.odemetarihi, t4.alis, t4.kalan
FROM (SELECT ttt.OtoSayi, ttt.DoktAdiSoyadi, ttt.SiparisTarihi,SatisTutar AS satis, ttt.odemetarihi,
AlisTutar AS alis, (select sum(kalan) from devirkisiler where ttt.DoktAdiSoyadi=DoktAdiSoyadi)+
(select sum(isnull(SatisTutar,0))- AlisTutar from Satislar_Tablo
where DoktAdiSoyadi=ttt.DoktAdiSoyadi and otosayi<=ttt.otosayi ) AS kalan
FROM Satislar_Tablo AS ttt
where DATENAME(MM, siparistarihi)=DATENAME(MM, GETDATE()) or DATENAME(MM, odemetarihi)=DATENAME(MM, GETDATE())
UNION SELECT null,trz.DoktAdiSoyadi, trz.Devir, trz.Satis,null, trz.Alis, Satis-Alis AS Kalan
FROM (SELECT DoktAdiSoyadi,"Devir" AS Devir, (SELECT Sum(satisTutar) FROM Satislar_Tablo
where
RIGHT(CONVERT(VARCHAR(10), satistarih, 103), 7)<RIGHT(CONVERT(VARCHAR(10), GETDATE(), 103), 7)
and DoktAdiSoyadi=tt.DoktAdiSoyadi) AS Satis, (SELECT Sum(AlisTutar)
FROM Satislar_Tablo where
RIGHT(CONVERT(VARCHAR(10), odemetarihi, 103), 7)<RIGHT(CONVERT(VARCHAR(10), GETDATE(), 103), 7)
and DoktAdiSoyadi=tt.DoktAdiSoyadi ) AS Alis FROM Satislar_Tablo as tt) AS trz
GROUP BY trz.DoktAdiSoyadi, trz.Devir, trz.Satis, trz.Alis, Satis-Alis AS t4
WHERE t4.DoktAdiSoyadi Is Not Null
ORDER BY t4.DoktAdiSoyadi, t4.SiparisTarihi DESC



  Alıntı
Bu mesajı beğenenler:
#2
Merhaba..

Parantezi atlamışsınız..

GROUP BY trz.DoktAdiSoyadi, trz.Devir, trz.Satis, trz.Alis, Satis-Alis) AS t4



.



  Alıntı
Bu mesajı beğenenler:
#3
çok tşkler taruz bey


bu sorguyu yine sizin yarımınızla access üzerinden düzenlemiştiniz.

ama bu sorguyu sql üzerinde kullanmam gerekiyor.

baya düzenleme yaptım. o parantezde gözümden kaçmış herhalde;

şimdide "Invalid object name 'devirkisiler'." hatası veriyor. sizden rica etsem access dosyasıyla göndersem düzenleyebilirmisiinz?

en son hali kodun aşağıdadır. access dosyasıda ektedir.

SELECT t4.DoktAdiSoyadi, t4.SiparisTarihi, t4.satis, t4.odemetarihi, t4.alis, t4.kalan
FROM
(SELECT ttt.OtoSayi, ttt.DoktAdiSoyadi, ttt.SiparisTarihi,SatisTutar AS satis, ttt.odemetarihi,AlisTutar AS alis,
(select sum(kalan) from devirkisiler where ttt.DoktAdiSoyadi=DoktAdiSoyadi)+(select sum(isnull(SatisTutar,0))- AlisTutar from Satislar_Tablo
where DoktAdiSoyadi=ttt.DoktAdiSoyadi and otosayi<=ttt.otosayi ) AS kalan
FROM Satislar_Tablo AS ttt where DATENAME(MM, siparistarihi)=DATENAME(MM, GETDATE()) or DATENAME(MM, odemetarihi)=DATENAME(MM, GETDATE())
UNION
SELECT null,trz.DoktAdiSoyadi, trz.Devir, trz.Satis,null, trz.Alis, Satis-Alis AS Kalan FROM
(SELECT DoktAdiSoyadi,"Devir" AS Devir, (SELECT Sum(satisTutar) FROM Satislar_Tablo
where RIGHT(CONVERT(VARCHAR(10), satistarih, 103), 7)<RIGHT(CONVERT(VARCHAR(10), GETDATE(), 103), 7)
and DoktAdiSoyadi=tt.DoktAdiSoyadi) AS Satis, (SELECT Sum(AlisTutar)
FROM Satislar_Tablo where RIGHT(CONVERT(VARCHAR(10), odemetarihi, 103), 7)<RIGHT(CONVERT(VARCHAR(10), GETDATE(), 103), 7)
and DoktAdiSoyadi=tt.DoktAdiSoyadi ) AS Alis FROM Satislar_Tablo as tt) AS trz
GROUP BY trz.DoktAdiSoyadi, trz.Devir, trz.Satis, trz.Alis, Satis-Alis) AS t4
WHERE t4.DoktAdiSoyadi Is Not Null ORDER BY t4.DoktAdiSoyadi, t4.SiparisTarihi DESC



  Alıntı
Bu mesajı beğenenler:
#4
Merhaba..

Daha önceki konuda verdiğim devirkisiler sorgusunu da sql de oluşturmanız gerekiyor.. İsmi devirkisiler olmalı unutmayın.. Diğer sorgu bu sorguya başvuruyor..



  Alıntı
Bu mesajı beğenenler:
#5
dediğiniz gibi devirlikişiler sorgusunu sql uyarlamaya çalışıyorum
Server: Msg 170, Level 15, State 1, Line 2
Line 2: Incorrect syntax near ')'.
Server: Msg 156, Level 15, State 1, Line 8
Incorrect syntax near the keyword 'AS'.

hatasını veriyor

sorguda bu


SELECT trz.DoktAdiSoyadi, trz.Devir, trz.Satis, trz.Alis, [Satis]-[Alis] AS Kalan
FROM [SELECT DoktAdiSoyadi,"Devir" AS Devir, (SELECT Sum(satisTutar) FROM Satislar_Tablo
--where Format([SatisTarih],"mm-yyyy")<Format(Date(),"mm-yyyy")
where RIGHT(CONVERT(VARCHAR(10), satistarih, 103),7)<RIGHT(CONVERT(VARCHAR(10), GETDATE(), 103), 7)
and DoktAdiSoyadi=tt.DoktAdiSoyadi ) AS Satis,
(SELECT Sum(AlisTutar) FROM Satislar_Tablo
--where Format([odemetarihi],"mm-yyyy")<Format(Date(),"mm-yyyy")
where RIGHT(CONVERT(VARCHAR(10), odemetarihi, 103),7)<RIGHT(CONVERT(VARCHAR(10), GETDATE(), 103), 7)
and DoktAdiSoyadi=tt.DoktAdiSoyadi ) AS Alis FROM Satislar_Tablo as tt]. AS trz
GROUP BY trz.DoktAdiSoyadi, trz.Devir, trz.Satis, trz.Alis,Satis-Alis





  Alıntı
Bu mesajı beğenenler:
#6
FROM (SELECT DoktAdiSoyadi,"Devir" AS Devir

as tt) AS trz

Buradaki köşeli parantezleri düzenleyin..



  Alıntı
Bu mesajı beğenenler:


Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi