Lo principal es que tengas un buen diseño de las tablas. El resto es cuestión de ir a base de inner join y getrows.
Te recomiendo que bajes varios códigos sencillos de foro, donde puedas ver bien las estructuras. Luego ve por foros ya montados y funcionando, y te fijas en cómo liga las cosas y los datos que dan.
Ideas sobre diseño de tablas (es una artículo sobre joins pero incluye lo que te interesa también):
http://www.aspfacil.com/tutsql/joins.asp