Ik wil graag de volgende query's samenvoegen en ik krijg het niet voor elkaar.

Query 1:
SELECT reactie.* , users.type
FROM reactie, users
WHERE reactie.id = '" .$_GET["id"]. "'
AND reactie.auteur = users.gebruikersnaam
GROUP BY reactie.nr
ORDER BY reactie.nr DESC";

Query 2:
SELECT auteur, COUNT(*)
FROM reactie
GROUP BY auteur

de auteur van de 2de query hoeft niet weergegeven te worden zolang ik maar alle reacties krijg per auteur.
De eerste query laat alle reacties zijn per topic en het type gebruiker. Hier wil ik dus ook graag het aantal reacties van de gebruiker bij hebben staan!
Om je te kunnen helpen moeten we wel even weten hoe je datamodel eruit ziet?
ok komt ie:
onderstreept is primairy key en tussen <> is foreign key maar foreign key's zijn niet zo gedeclareerd in phpmyadmin. Wist namelijk niet hoe dat moest.

Tabel reactie:
<id> int (dit is het topic id)
nr int AUTO_INCREMENT
reactie varchar
<auteur> varchar (fkey van gebruikersnaam)
datum DATETIME

Tabel users:
id int AUTO_INCREMENT
<gebruikersnaam> varchar
voornaam varchar
achternaam varchar
email varchar
lid_sinds DATETIME
type enum

edit: Het gaat om een forum zoals je waarschijnlijk al door had maar denk niet dat het echt relevant is.
Hmm, je datamodel klopt niet helemaal. Wat is het verschil tussen een user en een auteur bij jou?
niets alleen het heeft een andere naam. Is dat een probleem? auteur vond ik namelijk bij een reactie toepasselijker.

edit: vergeten te vermelden dat auteur een foreign key is van gebruikersnaam
ik neem aan dat je gebruikersnaam bedoeld met user?
Ik zou drie tabellen maken:

users
------------------
id
naam

topics
------------------
id
titel

posts
------------------
id
topic_id
user_id
dt_posted
tekst

Dan klopt je datamodel al een heel stuk beter en wordt het ook gemakkeliker om goeie query's op te stellen. Andere namen voor dezelfde entiteiten in je database raad ik je af om verwarring te voorkomen.
ow ja ik heb ook een tabel onderwerp maar die heb ik hier niet gepost omdat ik niet dacht dat het relevant was. Ik wil namelijk 2 query's samenvoegen en die gebruiken maar 2 tabellen. Daarom heb ik ook alleen deze 2 tabellen beschreven. Maar de onderwerp tabel is als volgt:

id int
onderwerp varchar (naam vd topic)
<auteur> varchar (weer foreign key met gebruikersnaam)
datum datetime

edit: ik weet dat bij tabel reactie topic id veel beter was geweest dan id om verwarring te voorkomen maar dit wijzig ik later wel. Dan mag ik weer het een en ander aan code omgooien namelijk...
Daarom is een goed datamodel dus zo belangrijk. Als je kijkt naar mijn voorbeeld, welke velden zou je dan precies willen hebben?
van posts alle (posts.*) en van users het type (staat er btw niet in ;) ) en dan nog eens het aantal posts per user.
kan je me dan verder helpen Jan?
Bedoel je echt alle posts, of alle posts van één topic?

Reageren