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?
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
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
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.