verticalizar tabela
pessoal, tenho uma tabela com a seguinte estrutura:
NOME | CODIGO1 | CODIGO2 | CODIGO3
FULANO | 1 | 27 | 54
BELTRANO | 5 | 9 | 22
etc.
resumindo: para cada nome três número inteiros...
eu queria tentar fazer uma sql que retornasse os campos inteiros como linhas junto com o nome correspondente. assim:
FULANO | 1
FULANO | 27
FULANO | 54
BELTRANO | 5
BELTRANO | 9
BELTRANO | 22
estou usando firebird 1.5.
agradeço pela ajuda.
NOME | CODIGO1 | CODIGO2 | CODIGO3
FULANO | 1 | 27 | 54
BELTRANO | 5 | 9 | 22
etc.
resumindo: para cada nome três número inteiros...
eu queria tentar fazer uma sql que retornasse os campos inteiros como linhas junto com o nome correspondente. assim:
FULANO | 1
FULANO | 27
FULANO | 54
BELTRANO | 5
BELTRANO | 9
BELTRANO | 22
estou usando firebird 1.5.
agradeço pela ajuda.
Djorius
Curtidas 0
Respostas
Motta
14/10/2005
SELECT NOME,´C1´,CODIGO1
FROM TABELA
UNION
SELECT NOME,´C2´,CODIGO2
FROM TABELA
UNION
SELECT NOME,´C3´,CODIGO3
FROM TABELA
ORDER BY 1,2
FROM TABELA
UNION
SELECT NOME,´C2´,CODIGO2
FROM TABELA
UNION
SELECT NOME,´C3´,CODIGO3
FROM TABELA
ORDER BY 1,2
GOSTEI 0
Davicarrano
14/10/2005
so complementando o que o nosso amigo ja esclareceu... se vc quiser mostrar tudo num campo so vc terá que concatenar os valores... ficaria assim....
SELECT (NOME || ´ ´ || ´ ´ || C1) as n1 FROM DJORIUS UNION
SELECT (NOME || ´ ´ || ´ ´ || C2) as n1 FROM DJORIUS UNION
SELECT (NOME || ´ ´ || ´ ´ || C3) as n1 FROM DJORIUS
SELECT (NOME || ´ ´ || ´ ´ || C1) as n1 FROM DJORIUS UNION
SELECT (NOME || ´ ´ || ´ ´ || C2) as n1 FROM DJORIUS UNION
SELECT (NOME || ´ ´ || ´ ´ || C3) as n1 FROM DJORIUS
GOSTEI 0
Davicarrano
14/10/2005
na instrução que postei
SELECT (NOME || ´ ´ || ´ ´ || C1) as n1 FROM DJORIUS UNION
SELECT (NOME || ´ ´ || ´ ´ || C2) as n1 FROM DJORIUS UNION
SELECT (NOME || ´ ´ || ´ ´ || C3) as n1 FROM DJORIUS
DJORIUS seria o nome da tabela e c1 - Codigo1... é pq pra mim testar aki eu crio a tabela com o nome do usuario q postou... falow
SELECT (NOME || ´ ´ || ´ ´ || C1) as n1 FROM DJORIUS UNION
SELECT (NOME || ´ ´ || ´ ´ || C2) as n1 FROM DJORIUS UNION
SELECT (NOME || ´ ´ || ´ ´ || C3) as n1 FROM DJORIUS
DJORIUS seria o nome da tabela e c1 - Codigo1... é pq pra mim testar aki eu crio a tabela com o nome do usuario q postou... falow
GOSTEI 0