Mauricio De Biasi escreveu:
> Pessoal,
> 
> To com uma duvida aparetemente simples tenho uma tabela:
> 
> id_tipo_frequencia int4 NOT NULL,
> ds_reduzida varchar(100),
> ds_completa text,
> ts_inclusao timestamp DEFAULT ('now'::text)::timestamp(6) with time zone,
> ts_cancelado timestamp,
> 
> <corta>
> e tenho outra tabela que recebe os id_dessa tabela marcando essa frequencia 
> para uma determinada unidade , gostria de saber se tem como eu trazer todos  
> os tipos de frequencia mesmo contabilizando em branco ?
> 
> estava tentando fazer a query dessa maneira :
> 
> select tf.id_tipo_frequencia, count(f.id_tipo_frequencia) from 
> tipo_frequencia tf
> LEFT JOIN   frequencia f USING (id_tipo_frequencia);
> 
> right join aula a on f.id_aula = a.id_aula
> 
> where a.id_aula = '145'
> group by  tf.id_tipo_frequencia
> 
> Mas so me traz o que teve realmente ... não trazendo os em branco
> 


Parece que tem um ; em lugar errado. Vou supor que foi apenas um erro na 
transcrição do comando.

Talvez seja uma questão de ordem das operações. Pelo que entendi, teste:

SELECT tf.id_tipo_frequencia, count(f.id_tipo_frequencia)
FROM  tipo_frequencia tf  LEFT JOIN
       (frequencia f RIGHT JOIN aula a on f.id_aula = a.id_aula)
USING (id_tipo_frequencia)
WHERE a.id_aula = '145'
GROUP BY tf.id_tipo_frequencia;

[]s
Osvaldo
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a