Bom, estou fazendo um sistema meio parecido com um fórum de mensagens. Tenho uma tabela chamada topicos_mensagens, onde armazeno os tópicos(titulo) e mensagens. Nessa tabela possuo os seguintes campos:
ID - Titulo - Autor - Topico_pai - Data - Forum
ID = Armazena o id da mensagem
Titulo = Armazena o titulo da mensagem(caso o usuario digite algum)
Autor = Pega o id de quem escreveu a mensagem
Topico Pai = Caso nao seja a mensagem de quem criou o topico(mensagem inicial), este campo armazenará o id do tópico a que a mensagem pertence.
Data = Armazena a data da postagem
Forum = Armazena o id do tipo de forum a que este topico pertence, pois o forum sera dividido em sessoes(exemplo: livros, revistas...)
Até ai tudo bem, o problema vem na hora de listar estes tópicos. Preciso listar apenas os titulos dos ultimos topicos criados, mas tenho de ordenálos através da data das postagens, ou seja, vem primeiro os topicos que tiverem postagem recentemente.
Tentei fazer assim:
$sql = "SELECT *FROM topicos_mensagens WHERE forum=". $_GET['forum'] ." and isnull(topico_pai) ORDER BY data DESC LIMIT 10";
Usei o "isnull" para que apenas os resultados em que o campo "topico_pai" forem vazios, fossem retornados, pois sempre que o "topico_pai" é vazio, significa que é o titulo de algum topico. Mas ai é que esta o problema, pois a ordenação esta sendo pela data da criação do topico, pois assim foi definido por mim ao usar o isnull. Preciso que a ordenação seja pela data da ultima mensagem postada neste topico. Alguem poderia me dar uma força de como eu poderia fazer isso?