Fórum :: Consulta com relacionamento entre data e total lt;gt; 0 #60096

08/08/2008

0

Olá pessoal!

seguinte em minha base de dados ´Firebird 2.0´ tenho entre outras as seguintes tabelas:


VIDEOS(ID_NOME, DURACAO, ETC)


LOG_EXIBIDOS(ID_NOME, DATA, HORA)



O campo ID_NOME é chave primeira na table ´VIDEOS´ e estrangeira na table ´LOG_EXIBIDOS´.

Preciso fazer uma consulta SQL que me retorno, NUM INTERVALO DE DATAS os vídeos que foram exibidos pelo menos 1 vez.

Tente assim:

SELECT M.RETRANCA,
(SELECT COUNT(ARQUIVO) FROM LOG_EXIBICAO L WHERE M.RETRANCA = L.ARQUIVO AND L.DATA BETWEEN CURRENT_DATE AND CURRENT_DATE) AS TOTAL
FROM MATERIA M


Porém entra no result os vídeo cujo retorno sejam 0 (ZERO).

Como posso resolver isso?

Lembrando que a CURRENT_DATE deverei trocar por dois parâmetro uma data de entrada e uma data de saída.

Alguma ajuda?


Carlosib

Carlosib

Responder

Posts

08/08/2008

Thomaz_prg

Se o problema for apenas aparecer os que contém 0 (ou seja, não deveriam aparecer estes, mas o restante está ok), fica fácil, basta usar o Having...
SELECT M.RETRANCA, 
(SELECT COUNT(ARQUIVO) FROM LOG_EXIBICAO L WHERE M.RETRANCA = L.ARQUIVO AND L.DATA BETWEEN CURRENT_DATE AND CURRENT_DATE HAVING COUNT(ARQUIVO) > 0) AS TOTAL 
FROM MATERIA M


obs: Não revisei seu SQL, apenas adicionei a clausula Having.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar