Fórum Como montar uma SQL com dados colunados em Linha #324230
26/06/2006
0
Tenho uma tabela com seguintes dados
JOSE MANOEL 550,00
JOSE MANOEL 600,00
JOSE MANOEL 800,00
PEDRO JOAQUIM 100,00
PEDRO JOAQUIM 400,00
MARIA SILVA 180,00
JOANA SANTOS 150,00
HELIO NASCIMENTO 250,00
HELIO NASCIMENTO 180,00
HELIO NASCIMENTO 100,00
HELIO NASCIMENTO 200,00
HELIO NASCIMENTO 300,00
Preciso de SQL que me retorne os Dados em Linha ou seja
CAMPO1 CAMPO2 CAMPO3 CAMPO4 CAMPO5 CAMPO6
JOSE MANOEL 550,00 600,00 800,00
PEDRO JOAQUIM 100,00 400,00
MARIA SILVA 180,00
JOANA SANTOS 150,00
HELIO NASCIMENTO 250,00 180,00 100,00 200,00 300,00
Não sei como montar esta SQL. Será que alguem pode me ajudar?
Saudações/Hélio Nascimento
Helio Nascimento
Curtir tópico
+ 0Posts
26/06/2006
Micheus
Não há uma meio de fazer isso diretamente num único comando SQL.
Gostei + 0
27/06/2006
Helio Nascimento
Pretendo utilizar esta informação em um relatorio...
Será que tem jeito?
Gostei + 0
28/06/2006
Motta
Gostei + 0
29/06/2006
Helio Nascimento
Voce fica ansiosamente aguardando que ele lhe passe a tão esperada solução que voce tentou, tentou e já estaria mudando de estratégia, e vem ele com a sua solução e lhe diz uma ´SP´ bem simpleszinha não é? É meu amigo bem simpleszinha mesmo, mas mesmo assim minha mente não consegui achar este caminho bem simpleszinho, bem abaixo vou postar a solução que este nosso amigo me passou, transferi a solução para o meu problema e eis que FUNCIONOU PLENAMENTE, E JA ESTA NO CLIENTE RODANDO, graças a este nosso colegas que tem socorrido várias outros como eu . Ele assina como EMERSON EN .
Emerson registro aqui a sua solução e fica meu eterno agradecimento.
CREATE PROCEDURE RETORNO returns ( nome varchar(60), valor numeric(9,2), valor1 numeric(9,2), valor2 numeric(9,2), valor3 numeric(9,2), valor4 numeric(9,2), valor5 numeric(9,2), valor6 numeric(9,2)) as begin for select distinct nome from helio order by nome into :nome do begin valor1 = null; valor2 = null; valor3 = null; valor4 = null; valor5 = null; valor6 = null; for select valor from helio where nome = :nome into :valor do if (valor1 is null) then valor1 = valor; else if (valor2 is null) then valor2 = valor; else if (valor3 is null) then valor3 = valor; else if (valor4 is null) then valor4 = valor; else if (valor5 is null) then valor5 = valor; else if (valor6 is null) then valor6 = valor; suspend; end end
Gostei + 0
29/06/2006
Motta
Gostei + 0
30/06/2006
Helio Nascimento
Este tipo de SP foi idealizada para o retorno de pagamento em até 6 cheques no máximo e precisaria para imprimir no relatório as informações dos valores e números dos cheques em apenas uma linha. Se amanhã houver a necessidade de ampliar para 7, 8.. voce terá que ampliar estes valores na SP , repetindo as informações. ok
Saudações.\ Hélio
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)