1

次のコードから「キーワード「AS」の近くの構文が正しくありません」というエラーが表示されるのはなぜですか?

DECLARE @FirstHole INTEGER

SELECT MIN(HoleId) FROM dbo.Holes WHERE CourseId = (
SELECT MAX(dbo.Holes.CourseId) FROM dbo.Registration 
LEFT JOIN dbo.Competitions ON dbo.Registration.CompetitionId = dbo.Competitions.CompetitionId 
LEFT JOIN dbo.Holes ON dbo.Competitions.CourseId = dbo.Holes.CourseId WHERE RegistrationId = 102
) AND dbo.Holes.MarkerId = 2 AS @FirstHole
4

1 に答える 1

1

これは、TSQLで変数に割り当てる方法ではありません。

私はあなたの意図がこれをすることだと思います

DECLARE @FirstHole INTEGER

SELECT  @FirstHole = MIN(HoleId) /* <-- Assignment here*/
FROM   dbo.Holes
WHERE  CourseId = (SELECT MAX(dbo.Holes.CourseId)
                   FROM   dbo.Registration
                          LEFT JOIN dbo.Competitions
                            ON dbo.Registration.CompetitionId = dbo.Competitions.CompetitionId
                          LEFT JOIN dbo.Holes
                            ON dbo.Competitions.CourseId = dbo.Holes.CourseId
                   WHERE  RegistrationId = 102)
       AND dbo.Holes.MarkerId = 2 
于 2013-01-20T21:24:12.223 に答える