TravoniMedlem sedan okt. 20041 556 inlägg Jag skulle vilja räkna antalet svar i samma select som jag listar alla inlägg som inte är ett svar (WHERE c.c_relid=0). Jag har inläggen och svaret i samma tabell, svaret får ett relations id till inlägget i kolumnen c_relid.
SELECT c.c_id AS id, c.c_title AS titel, c.c_date AS datum, m.m_name AS namn, [B]count(c.c_id) as svar[/B]
FROM members AS m INNER JOIN contribution AS c ON m.m_id=c.c_mid
WHERE c.c_relid=0
GROUP BY c.c_id, c.c_title, c.c_date, m.m_name
Men hur jag än gör så står det "1" i counten.
Hur gör jag?
Är det bättre att lägga inlägg och svar i olika tabeller?
LarsGMedlem sedan dec. 200012 464 inlägg SELECT c.c_id AS id,
c.c_title AS titel,
c.c_date AS datum,
m.m_name AS namn,
(select count(*)
from contribution
where c_relid = c.c_cid) as svar
FROM members AS m INNER JOIN contribution AS c ON m.m_id=c.c_mid
WHERE c.c_relid=0
headbugMedlem sedan sep. 2006867 inlägg Hej!
Det går bra att ha både inlägg och svar i samma tabell och få count:en rätt om du lägger till en till join (kräver att du byter plats på de två du har nu). Förresten jag klistarar in mitt exempel:
SELECT
c.c_id AS id,
c.c_title AS titel,
c.c_date AS datum,
m.m_name AS namn,
count(*) as svar
FROM
contribution AS c
INNER JOIN members AS m ON m.m_id=c.c_mid
INNER JOIN contribution AS c2 ON c2.c_relid = c.c_id WHERE c.c_relid = 0
GROUP BY c.c_id, c.c_title, c.c_date, m_name
Hoppas det funkar :)
/Jonas
TravoniMedlem sedan okt. 20041 556 inlägg Ahh, jag kom på att jag måste använda LEFT join annars så får jag bara med poster med svar och när jag använder headbugs exempel så står det 1 svar på de poster som inte har något svar.
LarsGs variant verkar inte funka alls i access.
TravoniMedlem sedan okt. 20041 556 inlägg I Access får jag fram "Ange parametervärde" på fetmarkerad kolumn:
...(select count(*)
from contribution
where c_relid = [b]c.c_cid[/b]) as svar)...
TravoniMedlem sedan okt. 20041 556 inlägg Kör jag den i ASP så får jag : Det har inte angetts något värde för en eller flera nödvändiga parametrar.
LarsGMedlem sedan dec. 200012 464 inlägg Jamen, det skall väl vara
where c_relid = c.c_id)
TravoniMedlem sedan okt. 20041 556 inlägg Ja, ja ett c för mycket hit å dit. ;)
Tack!