Jag försöker att göra en SQL till en SP. Det blir galet, resultaten bli olika, varför???
SP:n
CREATE Procedure spFyllGrid
(@songtitel varchar(20))
As
SELECT t_songtitlar.songtitel, t_placering.Datum,
Sum(CASE t_område.Område WHEN 'Sverige' THEN t_placering.Placering ELSE 0 END)
AS Sverige,
Sum(CASE t_område.Område WHEN 'Europa' THEN t_placering.Placering ELSE 0 END)
AS Europa,
Sum(CASE t_område.Område WHEN 'Världen' THEN t_placering.Placering ELSE 0 END)
AS Världen
FROM t_songtitlar
INNER JOIN (t_område
INNER JOIN t_placering ON t_område.omr_Id = t_placering.omr_Id)
ON t_songtitlar.ArrNo = t_placering.ArrNo
Where t_SongTitlar.songtitel = @songtitel
GROUP BY t_songtitlar.songtitel, t_placering.Datum
ORDER BY t_placering.Datum DESC
GO
SQL:
SELECT t_songtitlar.songtitel, t_placering.Datum,
Sum(CASE t_område.Område WHEN 'Sverige' THEN t_placering.Placering ELSE 0 END)
AS Sverige,
Sum(CASE t_område.Område WHEN 'Europa' THEN t_placering.Placering ELSE 0 END)
AS Europa,
Sum(CASE t_område.Område WHEN 'Världen' THEN t_placering.Placering ELSE 0 END)
AS Världen
FROM t_songtitlar
INNER JOIN (t_område
INNER JOIN t_placering
ON t_område.omr_Id = t_placering.omr_Id)
ON t_songtitlar.ArrNo = t_placering.ArrNo
WHERE t_songtitlar.Songtitel = '" & List1.Text & "'
GROUP BY t_songtitlar.songtitel, t_placering.Datum
ORDER BY t_placering.Datum DESC
WHERE t_songtitlar.Songtitel = '" & List1.Text & "'
är ju det enda som skiljer. Innehåller @songtitel och list1.text exakt samma värde? Kan det finnas med avslutande blanka eller något annat (icke printbart) tecken i någon av dom?
Jag tror att jag har upptäckt problemet nu.
När jag gick till egenskaper på tabelen, så hade jag datatypen nvarchar och 50.
Om jag ändrar det, så kan det nog ordna sig. Tack för hjälpen.
343 ms totalt · 4 externa anrop · v20260731065814-full.14655e19