Em 25 de março de 2010 13:43, Marcelo Cardoso de Souza <marceloc...@gmail.com> escreveu: > Mas ai que vem a questão como saber quais campos mostrar, pois quero somente > os que foram alterados. >
Talvez seja mais fácil verificar na própria aplicação mas se você deseja fazer na própria consulta use CASE. Por ex.: SELECT CASE WHEN nova.id_imovel = velha.id_imovel THEN NULL ELSE 'De ' || velha.id_imovel || ' para ' || nova.id_imovel END AS id_imovel, CASE WHEN nova.id_endereco = velha.id_endereco THEN NULL ELSE 'De ' || velha.id_endereco || ' para ' || nova.id_endereco END AS id_endereco, CASE WHEN nova.nm_imovel = velha.nm_imovel THEN NULL ELSE 'De ' || velha.nm_imovel || ' para ' || nova.nm_imovel END AS nm_imovel, ... CASE WHEN nova.de_complementar = velha.de_complementar THEN NULL ELSE 'De ' || velha.de_complementar || ' para ' || nova.de_complementar END AS de_complementar, nova.dt_alteracao FROM sua_tabela nova JOIN sua_tabela velha ON nova.id_imovel_anterior = velha.id_imovel; Osvaldo PS. Os campos não alterados conterão NULL. _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral