Om man har en SP och vill få med det värdet in i en annan SP Jag använde mig av Blindmans förslag på lösningSQL Fråga
SP OmgångsVal
ALTER PROCEDURE OmgångsVal
@SexVal nvarchar,
@Sasong int
AS
BEGIN
SET NOCOUNT ON;
SELECT MAX(Omgang) AS [Omgång]
FROM Resultat
WHERE @SexVal = Lag And @Sasong = Säsong
END
Till en annan SP Serietabell
jag vill få med värdet [Omgång] från OmgångsVal till SP Serietabell
Testade med nedan men fick följande fel
Msg 102, Level 15, State 1, Line 16
Incorrect syntax near '@Omgång'.
DECLARE
@SexVal nvarchar,
@Omgång INT,
@Sasong int
SET @SexVal='A'
SET @Sasong=20072008
EXEC Ubc90OmgångsVal @SexVal,@Sasong
BEGIN
SELECT Match.MatchId, Match.matchdate AS MatchStart, Team.team AS Hemma, Team1.team AS Borta, Match.score, Match.vsscore
FROM Match INNER JOIN
Team ON Match.team = Team.TeamId INNER JOIN
(SELECT TeamId, team, GroupId
FROM Team AS Team_1) AS Team1 ON Match.vsteam = Team1.TeamId
WHERE Match.Omgång = @Omgång
Sv:SQL Fråga
Don't use sprocs for variable assignments. Use user-defined functions instead:
Create function OmgångsVal
(@SexVal nvarchar,
@Sasong int)
returns int
AS
begin
return
(SELECT MAX(Omgang) AS [Omgång]
FROM Resultat
WHERE @SexVal = Lag And @Sasong = Säsong)
end
DECLARE
@SexVal nvarchar,
@Sasong int
SET @SexVal='A'
SET @Sasong=20072008
SELECT Match.MatchId,
Match.matchdate AS MatchStart,
Team.team AS Hemma,
Team1.team AS Borta,
Match.score,
Match.vsscore
FROM Match
INNER JOIN Team ON Match.team = Team.TeamId
INNER JOIN --Team
(SELECT TeamId,
team,
GroupId
FROM Team) AS Team1
ON Match.vsteam = Team1.TeamId
WHERE Match.Omgång = dbo.OmgångsVal(@SexVal, @Sasong)