Om du inte känner till din databasstruktur borde den se ut ungefär så här. Observera att du bör ersätta *
tecken med mer explicita listor över kolumner du faktiskt behöver.
SELECT p.*, c.*, u.* FROM posts p
LEFT JOIN comments c ON c.post_id = p.id
LEFT JOIN users u ON u.id = p.author_id
Observera att om du bara försöker få räkningar, summor och liknande så är det en bra idé att cache en del av den informationen. Du kanske till exempel vill cachelagra antalet kommentarer i posttabellen istället för att räkna dem varje fråga. Räkna och uppdatera bara antalet kommentarer när du lägger till/tar bort en kommentar.
EDIT: Insåg att du också ville bifoga användardata till varje kommentar. Du kan GÅ MED i samma bord mer än en gång men det blir fult. Detta kan bli en riktigt dyr fråga. Jag inkluderar också ett exempel på hur man alias kolumner så det är mindre förvirrande:
SELECT p.*, c.*, u.name as post_author, u2.name as comment_author FROM posts p
LEFT JOIN comments c ON c.post_id = p.id
LEFT JOIN users u ON u.id = p.author_id
LEFT JOIN users u2 ON u2.id = c.author_id