Em 01/08/12, Danilo Silva<[email protected]> escreveu:
>>
>>
>> Quais os campos relacionam estas tabelas?
>>
> Nenhum, são tabelas distintas.
>
>
>> São todos aqueles que tem o mesmo nome ou apenas alguns deles? Em
>> suma: quais as chaves primárias e estrangeiras?
>> De onde você obtém o nome do usuário?
>> Por qt (por ex. em qtentrada) você quer dizer a quantidade de registros
>> (count)?
>>
> Sim, é count, no caso de "qtentrada" é count da tabela documento onde
> codmovimento = 1, "qtsaida_baixa" é um count da tabela documento onde
> codmovimento <> 1, "qtmalote é um count da tabela malote onde codmovimento
> = 1.
>
> No geral preciso saber quantos registros foram lidos por cada usuário, mas
> como esse processo envolve 2 tabelas (documento e malote) não sei como
> fazer (de forma elegante) esse select .
>
> Danilo
>


Ainda não consegui ainda entender adequadamente sua estrutura, mas
tente adaptar a query abaixo:

SELECT * FROM (
SELECT coduser, sum(CASE codmovimento WHEN 1 THEN 1 ELSE 0 END) AS
qtentrada, sum(CASE codmovimento WHEN 2 THEN 1 ELSE 0 END) AS qtsaida,
sum(CASE codmovimento WHEN 3 THEN 1 ELSE 0 END) AS qtbaixa FROM
documento GROUP BY coduser
FULL OUTER JOIN
SELECT coduser, count(*) AS qtmalote FROM malote GROUP BY coduser
) foo;

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a