Om jag vill göra en SP och skicka in värden i @nysql samt @nysql2 då fungerar det inte i kod1
@nysql2 = t3.fraga1 like '%,1,%'
@nysql = t2.fraga1 like '%,1,%'
Får felmeddelandet
"Incorrect syntax near ')'"
"Incorrect syntax near keyword 'Group'
I kod2 har jag redan lagt in värdena direkt, då fungerar det!
Någon som vet vad jag gör för fel?
Tack på förhand
Kod1 fungerar inte
CREATE procedure dbo.Test
@nysql nvarchar(512),
@nysql2 nvarchar(512)
as
SELECT t1.typ_av_fraga,t1.antal_knappar,
(SELECT SUM(svar) FROM svar t2 INNER JOIN deltagare_ny ON t2.deltagare_id = deltagare_ny.deltagare_id WHERE fraga_nummer = t1.id and @nysql) AS fldSumma,
(SELECT COUNT(DISTINCT t3.deltagare_id) FROM svar t3 INNER JOIN deltagare_ny ON t3.deltagare_id = deltagare_ny.deltagare_id WHERE @nysql2 GROUP BY fraga_nummer HAVING fraga_nummer = t1.id) AS fldAntal_Deltagare
, t1.id, TEXT_fragor.fraga_text, t1.fraga_nummer FROM fragor t1 INNER JOIN TEXT_fragor ON t1.id = TEXT_fragor.fraga_id INNER JOIN kampanj ON t1.kampanj_id = kampanj.kampanj_id
GO
Kod2 fungerar
CREATE procedure dbo.test2
as
SELECT t1.typ_av_fraga,t1.antal_knappar,
(SELECT SUM(svar) FROM svar t2 INNER JOIN deltagare_ny ON t2.deltagare_id = deltagare_ny.deltagare_id WHERE fraga_nummer = t1.id and t3.fraga1 like '%,1,%') AS fldSumma,
(SELECT COUNT(DISTINCT t3.deltagare_id) FROM svar t3 INNER JOIN deltagare_ny ON t3.deltagare_id = deltagare_ny.deltagare_id WHERE t2.fraga1 like '%,1,%' GROUP BY fraga_nummer HAVING fraga_nummer = t1.id) AS fldAntal_Deltagare
, t1.id, TEXT_fragor.fraga_text, t1.fraga_nummer FROM fragor t1 INNER JOIN TEXT_fragor ON t1.id = TEXT_fragor.fraga_id INNER JOIN kampanj ON t1.kampanj_id = kampanj.kampanj_id
GO