Pessoal tenho 30 tabelas que possuem a seguinte estrutura:
tabela_[a,b...n]
id, sinal
Preciso convertê-las numa outra tabela que conterá todas aquelas 30, cada
coluna sendo nomeada com o nome da própria tabela e recebendo o conteúdo da
coluna *sinal*
O problema é que o *id* não é comum em todas e neste caso a coluna *sinal*,
cuja tabela não tem o *id*, deve ficar com null.
Já fiz inúmeras tentativas e não obtive o resultado desejado, o máximo que
consegui chegar foi no resultado abaixo onde alguns IDs se repetem.
CREATE TABLE sm.sinal_all AS
(SELECT COALESCE(
a0.id,
a1.id,
a2.id,
a3.id,
a4.id),
a0.sinal as g,
a1.sinal as r,
a2.sinal as i,
a3.sinal as z,
a4.sinal as y
FROM sm.svtableg as a0
full outer join sm.svtabler as a1 ON a1.id = a0.id
full outer join sm.svtablei as a2 ON a2.id = a1.id
full outer join sm.svtablez as a3 ON a3.id = a2.id
full outer join sm.svtabley as a4 ON a4.id = a3.id);
sinaldb=> SELECT * from sm.sinal_all where coalesce = 95058611;
coalesce | g | r | i | z | y
----------+---------+---+--------+---------+---------
95058611 | 5.39109 | | | |
95058611 | | | 4.5241 | 4.58636 | 3.76332
(2 rows)
Desde já obrigado.
--
Att.
Carlos Adean
skype: carlosadean | fb.com/carlosadean
"There are only 10 types of people in the world: Those who understand
binary, and those who don't."
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral