Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Consulta PostgreSQL- Varias Tabelas para obter um resultado das contusas

If(com dia||Boa Tarde|| Boa Noite) Preciso de uma ajuda. 1 - preciso fazer uma consulta em umas tabelas, dentro de uma banco de dados em um Schema especifico. 2 - Este banco dedados ele e em PostgreSQL, o nome ( financeiro ), Schema Especifico ( contas ), Tabelas que iniciam com (m??????) bom. preciso consultar. dentro destes dados fornecidos, a seguinte informação. pegar dentro do banco de dados, e do Schema citado. todas tabelas que iniciam com 'm', e dentro destas tabelas procurar, uma coluna chamada, lancValor, Obs: em todas as tabelas, esta coluna possuem exatamente o mesmo nome, porem as tabelas iniciam com m??????. e vai variando explo: m00001, m00002. e assim segue, como não posso ficar colocando cada mxxxx, preciso que o comando encontre as tabelas e dentro delas, procure a coluna lancValor, e me trava o resultado. demonstrando em uma tabela tem... criada para apresentar o resultado. o resultado não precisa ser salvo. apenas demonstrado.

alguém. pode dar esta força...

1 resposta
solução!

Resolvido a anos a traz talvez o modelo esteja Obsoleto mas, não irei deixar a pergunta sem resposta... segue o Query criada para resolver meu problema. Loop para percorrer todas as tabelas encontradas DO $$ DECLARE tablename TEXT; idcodfiscal INTEGER; BEGIN -- Para cada tabela encontrada, selecionar a coluna "idcodfiscal" FOR tablename IN SELECT tablename FROM pg_tables WHERE schemaname='fiscal' AND tablename LIKE 'm0%' LOOP EXECUTE 'SELECT idcodfiscal FROM ' || tablename INTO idcodfiscal; IF idcodfiscal IS NOT NULL THEN INSERT INTO temp_idcodfiscal (idcodfiscal) VALUES (idcodfiscal); END IF; END LOOP; END $$;

o loop e simples, mas muito util. percorre o banco todo a procura de uma tabela ou várias que comecem com xxx ao encontrar faz uma busca por uma coluna yyy e salva todos resultados em uma tabela temporária . para depois usar um Distinct da vida.