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