これは初めてt-sqlでビューを作成しようとしていますが、CREATE VIEWがバッチ。ステートメントがバッチ内で1つだけでなければならないので、ビューエラーを作成する
なぜこのエラーが発生し、どのように修正できますか?
私はいくつかの例を検討しましたが、私は何をする必要があるかについてまだよく分かりません。
CREATE PROCEDURE [dbo].[League_Table_Insert]
@LeagueName VARCHAR(30)
AS
SET NOCOUNT ON
BEGIN
CREATE VIEW League_Table AS
SELECT
TeamName AS Team,
COUNT(*) Played,
COUNT(CASE WHEN HomeScore > AwayScore THEN 1 END) Wins,
COUNT(CASE WHEN AwayScore > HomeScore THEN 1 END) Losses,
COUNT(CASE WHEN HomeScore = AwayScore THEN 1 END) Draws,
SUM(HomeScore) Goals_Scored,
SUM(AwayScore) Goals_Against,
SUM(HomeScore) - SUM(AwayScore) Goal_Difference,
SUM(
CASE WHEN HomeScore > AwayScore THEN 3 ELSE 0 END
+ CASE WHEN HomeScore = AwayScore THEN 1 ELSE 0 END
) Points
FROM
(
SELECT TeamName, HomeScore, AwayScore FROM dbo.Team t INNER JOIN dbo.Fixture f ON t.TeamID = f.HomeTeamID INNER JOIN dbo.League l ON f.LeagueID = l.LeagueID WHERE LeagueName = @LeagueName
UNION ALL
SELECT TeamName, HomeScore, AwayScore FROM dbo.Team t INNER JOIN dbo.Fixture f ON t.TeamID = f.HomeTeamID INNER JOIN dbo.League l ON f.LeagueID = l.LeagueID WHERE LeagueName = @LeagueName
) matches
GROUP BY TeamName
ORDER BY Points DESC, Goal_Difference DESC;
タイヤクエリ。また、ビューで変数を使用することはできません。 –
@Variableを使用してビューを作成することはできません。 –
@FelixPamittanはクエリ全体ですが、上に作成ビューを配置しましたが、間違っていると仮定していますか? –