'SELECT'附近和'AS'附近的dbo.StoredProcedure SQL语法错误

时间:2022-06-01 13:03:35

Hey guys I hope you can help me I've tried every thing I can think of and it keeps telling me that my syntax near SELECT and that my syntax near AS is incorrect

嘿伙计们,我希望你们可以帮助我,我已经尝试了所有我能想到的东西,它一直告诉我,我的语法靠近SELECT,我的语法在AS附近是不正确的

CREATE PROCEDURE dbo.StoredProcedure2
SELECT
,   Announcements.ID
,   Announcement.CreateDate
,   Announcements.Announcement
,aspnet_Users.UserName 
,(SELECT Announcement_Read_State.Read_Date 
    FROM Announcement_Read_State 
    WHERE Announcement_Read_State.Announcement_ID = Announcements.ID 
    AND Announcement_Read_State.User_ID = 2) AS ReadState 
FROM Announcements INNER JOIN aspnet_User ON Announcements .Sender_User_ID = aspnet_User.UserName 
WHERE (Announcements.ID IN 

        ( SELECT Max(Announcements.ID) 
        FROM Thread_Participant INNER JOIN Announcements ON 
        Thread_Participant.ThreadId = Announcements.Announcement_ThreadId 
        WHERE MessageThreadParticipant.UserID = 2 
        GROUP BY ThreadParticipant.AnnouncementThreadId
        )

 ORDER BY Message.CreateDate DESC;

1 个解决方案

#1


5  

It should be:

它应该是:

CREATE PROCEDURE dbo.StoredProcedure2
AS  -- you were missing this

SELECT  -- you had an extra comma here
    Announcements.ID
,   Announcement.CreateDate
,   Announcements.Announcement
,aspnet_Users.UserName 
,(SELECT Announcement_Read_State.Read_Date 
    FROM Announcement_Read_State 
    WHERE Announcement_Read_State.Announcement_ID = Announcements.ID 
    AND Announcement_Read_State.User_ID = 2) AS ReadState 
FROM Announcements INNER JOIN aspnet_User ON Announcements .Sender_User_ID = aspnet_User.UserName 
WHERE (Announcements.ID IN 

        ( SELECT Max(Announcements.ID) 
        FROM Thread_Participant INNER JOIN Announcements ON 
        Thread_Participant.ThreadId = Announcements.Announcement_ThreadId 
        WHERE MessageThreadParticipant.UserID = 2 
        GROUP BY ThreadParticipant.AnnouncementThreadId
        )
)-- you were missing this one

 ORDER BY Message.CreateDate DESC;

#1


5  

It should be:

它应该是:

CREATE PROCEDURE dbo.StoredProcedure2
AS  -- you were missing this

SELECT  -- you had an extra comma here
    Announcements.ID
,   Announcement.CreateDate
,   Announcements.Announcement
,aspnet_Users.UserName 
,(SELECT Announcement_Read_State.Read_Date 
    FROM Announcement_Read_State 
    WHERE Announcement_Read_State.Announcement_ID = Announcements.ID 
    AND Announcement_Read_State.User_ID = 2) AS ReadState 
FROM Announcements INNER JOIN aspnet_User ON Announcements .Sender_User_ID = aspnet_User.UserName 
WHERE (Announcements.ID IN 

        ( SELECT Max(Announcements.ID) 
        FROM Thread_Participant INNER JOIN Announcements ON 
        Thread_Participant.ThreadId = Announcements.Announcement_ThreadId 
        WHERE MessageThreadParticipant.UserID = 2 
        GROUP BY ThreadParticipant.AnnouncementThreadId
        )
)-- you were missing this one

 ORDER BY Message.CreateDate DESC;