Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mirth

valores nulos em procura!

Recommended Posts

Ola, eu tenho uma query

 

:SELECT a.*, Count(1)  AS votos, ROUND(SUM(rate)/Count(1)) AS rating  FROM fotos a,  rating b WHERE  b.foto_id = a.foto_id AND a.galeria_id = 1 GROUP BY a.foto_id ORDER BY addtime DESC

funciona muito bem, mas n lista as foto_id que não têm valores na tabela de rating, como corrigir isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, você está dizendo isso em "WHERE b.foto_id = a.foto_id", daí é claro que os outros registros são excluídos. Tire esta linha, vai faltar integridade, pense em fazer alguma subselect para listar os dados de rating somente quando estes existirem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois, percebi, mas eu preciso mesmo de tudo junto, eu meti assim pq preciso da soma, sem essa linha soma todos os valores n há outra maneira de fazer a soma?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não estou a conseguir fazer uma subselect, :(Eu uso o navicat para testar as procuras e está a dar erro das subselects

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois, é isso.. eu agora fiz com:SELECT a.*, COUNT(b.foto_id) AS votosFROM fotos a, rating bLEFT OUTER JOIN rating ON (a.foto_id = b.foto_id)WHERE a.galeria_id = 1 GROUP BY a.foto_id ORDER BY addtime DESCo problema é q isto aparece um valor estranho na contagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.