Então, o que estou realmente tentando alcançar é filtrar as histórias mais votadas. As histórias são salvas em uma tabela e todos os votos em outra.
Eu tenho esta instrução para obter a ordem adequada da coluna de vídeo:
SELECT vid, COUNT(id) AS votecnt
FROM votes
WHERE status = 1
GROUP BY vid
ORDER BY votecnt DESC
E então tenho que filtrar as próprias histórias e quero que sejam ordenadas exatamente como estão na primeira cláusula.
SELECT vid, body, timestamp
FROM stories
WHERE lv = 1
AND status = 1
O problema é que é a ordem que preciso, porque a primeira instrução não retorna todas as linhas que a segunda retorna. Seria ainda melhor se a primeira consulta classificasse a tabela por status = 1 contagem primeiro e depois pelo total de votos.
Alguma ideia de como juntar tudo isso em uma consulta SQL? Ou devo usar PHP no meio?
A menos que eu esteja entendendo mal sua estrutura, uma junção simples deve funcionar bem:
Não tenho certeza do que você quer dizer com
já que sua instrução where usa apenas votos/histórias com status=1.