login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Serieuze SQL Query

Offline Ontani - 04/06/2006 14:16
Avatar van OntaniGouden medailleGouden medailleGouden medailleGouden medaille

-1
in mijn ogen een serieuze sql-query want ik heb er niet zoveel verstand van, maar het moet te doen zijn.

Er zijn 3 tabellen:
article, category, comments

Ik heb dus een article waarvan ik alles moet geselecteerd hebben.
In die selectie zit dus article.category dit is een Integer die overeenstemt met het ID uit de tabel category en waar ik dus de categorynaam uit moet halen.
In de tabel comments zit alle commentaar op articles met een veld articleId dat overeenkomt met het ID van het article.

Ik wil dus:

Alles uit article met overeenkomstige naam van de category en het aantal comments op het article

(Ik hoop dat iemand nog kan volgen)

http://plaatscode.be/549/
dit is m'n huidige query.

Deze geeft alles van article terug, en de overeenkomstige categorynaam (Dus dit klopt al)
maar deze geeft ook alles van de tabel comments.
dus deze geeft 2 rijen terug als er 2 comments zijn en 50 als er 50 comments zijn.

Dus zou ik hem nog moeten aanpassen dat deze nog het aantal comments geeft voor het geselecteerde Article.

En nu maar hopen dat er iemand iets van begrepen heeft want ik heb geen zin om het in 2 query's te doen wat denk ik ook wel met 1 query gedaan kan worden.

Groetjes

2 antwoorden

Gesponsorde links
Offline Stefan14 - 04/06/2006 14:21
Avatar van Stefan14 PHP gevorderde het moet zoiets als dit zijn, want je moet namelijk de tabellen ook nog een aparte naam geven met AS.

  1. <?php
  2. $query = "SELECT artikel.*, categorie.name, commentaar.* FROM article AS artikel, category AS categorie, comments AS commentaar WHERE (artikel.category = categorie.id) AND (artikel.id = commentaar.articleId)";
  3. ?>
Offline Ontani - 04/06/2006 14:22 (laatste wijziging 04/06/2006 14:47)
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
je moet nix, hij werkt zoals ik hem had, dus net hetzelfde als jij hem nu zegt.

Screenshotje van de huidige query:

http://www.onta...t00055.jpg

JAWEL! het is gelukt:

query:
  1. SELECT article.*, category.name,(SELECT count(*) FROM comments WHERE article.id = articleId) FROM article, category WHERE (article.category = category.id)


resultaat:
http://www.onta...t00056.jpg
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.204s