[MySQL] Query uit 3 tabellen met 2 voorwaarden

Pagina: 1
Acties:

  • m33p
  • Registratie: September 2002
  • Laatst online: 06-02 20:21
Als eerst sorry voor de titel, maar ik weet niet precies hoe ik het duidelijk kan omschrijven.

Ik zit met een probleem. Ik heb 3 tabellen, namelijk de volgende:
code:
1
2
3
nts_news
nts_news_comments
nts_users


Nu wil ik het volgende doen:
- Haal al de newsposts uit nts_news op, en haal bij de authorID het profiel op uit nts_users (dit werkt gewoon)
- Haal ook bij nts_news.newsID de comments uit nts_news_comments op (dit gaat fout)

Het werkt wel, maar als er geen comments zijn komt hij niet overeen en laat hij de post dus niet zien. Ik heb dit ooit werkend gehad maar ik kan het niet meer herinneren. Ik zit te prutsen met de volgende query:

MySQL:
1
2
3
4
5
6
SELECT *
FROM nts_news, nts_users, nts_news_comments
WHERE nts_news.authorID = nts_users.userID
AND nts_news.newsID = nts_news_comments.newsID
ORDER BY nts_news.newsID DESC
LIMIT 0, 5


Iemand enig idee hoe ik dat kan oplossen, en ook hoe ik het aantal reply´s kan counten die het nts_news.newsID hebben in nts_news_comments in 1 query (als dit mogelijk is) ?

Alvast bedankt

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
in principe moet dat werken met

SQL:
1
2
  SELECT tbl_foo.*, tbl_faa.* 
    FROM tbl_foo LEFT JOIN tbl_faa ON tbl_foo.id = tbl_faa.id;

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • m33p
  • Registratie: September 2002
  • Laatst online: 06-02 20:21
Mja, ik zal wel iets niet vatten dan (ik weet wat joins doen maar daar blijft het mee, nog niet echt mee gewerkt) maar daar haal je info uit 2db´s en ie voeg je samen in 1. Hoe combineer ik dat in mijn query. Moet ik dan de comments en news samenvoegen en die users er "los" bij ophalen of... ?

  • Mexxus
  • Registratie: Januari 2004
  • Laatst online: 20-09-2025
Je kunt ook UNION gebruiken om meerdere selects in een query te draaien, voor als je echt geen andere oplossing ziet...

http://www.mysql.com/union

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 19-05 09:52

thomaske

» » » » » »

Afgezien van het feit dat het mij beter lijkt om met 2 losse queries te werken, kan je overwegen om bijvoorbeeld een LEFT JOIN te gebruiken

[ Voor 4% gewijzigd door thomaske op 16-07-2004 15:11 ]

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."