webForumDet fria alternativet

Räkna antalet kommentarer med sp

Databaser & SQL

2 svar · 296 visningar · startad av MagnusJ

Medlem sedan apr. 2004150 inlägg
Frågan#1

Jag håller på att lära mig lite hur stored procedure fungerar. Nu ska jag göra så att jag kan se hur många kommentarer en nyhet har fått. Förut har jag använt mig av den här koden

SELECT n.nid, n.nRubrik, n.nNyhet, n.nDatum iif(c.total IS NULL, 0, c.total) AS kommentarer
FROM tbl_Nyheter n
LEFT JOIN (SELECT cnid, COUNT(*) AS total
FROM tbl_Kommentarer
GROUP BY cnid) AS c
ON n.nid = c.cnid
ORDER BY n.nDatum DESC

Men den vill inte fungera när jag försöker göra en stored procedure av den. Får felmeddelandena att det är en incorrect syntax ner c och AS. Jag läste lite om att man måste använda sig av OUTPUT i en stored procedure. Men vet inte riktigt hur jag ska göra för att få till det. Har någon något tips på hur man kan göra? Jag använder mig av en ms sql databas.

Medlem sedan dec. 200012 464 inlägg
#2

iif och sql server fungerar inte ihop.

create procedure countComments
as
   SELECT n.nid, 
       n.nRubrik, 
       n.nNyhet, 
       n.nDatum,
       (select count(*)
           from tbl_kommentarer
          where cnid = n.nid) as kommentarer
 from tbl_Nyheter n
 ORDER BY n.nDatum DESC
Medlem sedan apr. 2004150 inlägg
#3

Det funkade perfekt. Tack för hjälpen!

257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)