Mauricio De Biasi escreveu:
> Osvaldo opa tudo bem ?  Realmente estava com um erro.. porem ele continua 
> trazendo apenas os dados que existem na tabela frequencia junto a tabela 
> tipo_frequencia ... o que estava querendo montra era um relatorio dessa 
> maneira :
> 
> Exp:
> 
> id_tipo_frequencia  | Total
> 1                              ''
> 2                              ''
> 3                              15
> 
> e no caso ele so me traz os quem valores:
> 
> id_tipo_frequencia  | Total
> 3                              15
> 
> 
> 
> 
>> From: Osvaldo Rosario Kussama <[EMAIL PROTECTED]>
>> Reply-To: Grupo de Usuários do PostgreSQL no 
>> Brasil<[email protected]>
>> To: Grupo de Usuários do PostgreSQL no Brasil 
>> <[email protected]>
>> Subject: Re: [PostgreSQL-Brasil] Valores em branco
>> Date: Mon, 16 Apr 2007 15:21:12 -0300
>>
>> 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:
>>


Creio que o problema esteja na cláusula WHERE a.id_aula = '145'.
Tente:

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

Deve listar todos os tipos de freqüência com a contagem das ocorrências 
registradas para a aula de id 145.

[]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