26. oktober 2004 - 10:04Der er
9 kommentarer og 1 løsning
sql-hell
Jeg bliver altså nødt til, at få lidt hjælp til opbygningen af min sql-sætning. I øjeblikket ser den sådan her ud og den virker endda :o)
$DB->Query("SELECT * FROM posts, brugere, kategorier WHERE brugere.bruger_id=posts.bruger_id AND posts.synlig=1 AND kategorier.kat_id=posts.kat_id ORDER BY posts.post_id DESC LIMIT 0," . $maxPosts . "");
Jeg har en tabel der hedder kommentarer. Den indeholder følgende felter: kommentar_id, post_id, kommentar
Jeg prøver så at omskrive min sql-sætning, så den samtidig tæller hvor mange kommentarer der er til hver post.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Slettet bruger
26. oktober 2004 - 10:21#1
Og problemet er vel, at den ignorerer posts uden kommentarer, når du prøver at sætte dem sammen?
For det første bør man skrive felterne, man ønsker at modtage i stedet for bare *.
Prøv med dette:
SELECT *, count(kommentarer.kommentar_id) AS antalkommentarer FROM posts, brugere, kategorier
LEFT JOIN kommentarer ON posts.post_id=kommentarer.post_id
WHERE brugere.bruger_id=posts.bruger_id AND posts.synlig=1 AND kategorier.kat_id=posts.kat_id ORDER BY posts.post_id DESC LIMIT 0,$maxPosts
Problemet er at jeg slet ikke kan overskue hvordan jeg skal sætte dem sammen :)
Jeg får denne fejl:
Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause
Synes godt om
Slettet bruger
26. oktober 2004 - 10:30#3
SELECT *, count(kommentarer.kommentar_id) AS antalkommentarer FROM posts, brugere, kategorier
LEFT JOIN kommentarer ON posts.post_id=kommentarer.post_id
WHERE brugere.bruger_id=posts.bruger_id AND posts.synlig=1 AND kategorier.kat_id=posts.kat_id GROUP BY posts.post_id ORDER BY posts.post_id DESC LIMIT 0,$maxPosts
Men ret * til at liste alle de felter, som du vil have udskrevet.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.