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
