Unir consulta SQL a direita

2 respostas
J

Ola,

Gostaria de otimizar 3 linhas de uma consulta SQL em uma linha.

O problema é que os dados estão na mesma tabela, e eu preciso pegar apenas alguns desses campos e ir colocando a direita um ao lado do outro, de forma que estas 3 linhas apareçam em apenas uma linha da consulta sql, sem sobrescrever os dados.

Preciso disto para a geração de um relatorio em PDF, com o Jasper.

Ex:
select * from clientes where ( codigo = 1 or codigo = 2 or codigo = 3)
Codigo | Nome
1 | Jonas
2 | Luiz
3 | Carlos

Preciso que esta consulta retorne:
Codigo1 | Nome1 | Codigo 2 | Nome2 | Codigo3 | Nome3
1 | Jonas | 2 | Luiz | 3 | Carlos

Sera que é possivel realizar esta operação e trazer estes dados desta forma??? Talvez usando um Inner Join ou coisa parecida???

2 Respostas

Rafael_ap

talves s você tenta-se:

ResultSet rs = objeto.consultar("select...");

ResultSetMetaData rsmd;
do{
String texto = rsmd.getColumnName(1) + "|" + rs.getString(1);
texto += "|" + rsmd.getColumnName(2) + "|" + rs.getString(2);
}while(rs.next());

Não sei se da certo, mas a idéia, se for explorada, pode dar certo..

O

Boa noite!

Bom amigo com o banco mysql pode fazer assim:

select GROUP_CONCAT(concat(codigo,'|',nome) SEPARATOR '|') as juncao from clientes where 1=1;

ele retornará em um campo só valor das linhas.

Criado 26 de novembro de 2008
Ultima resposta 26 de nov. de 2008
Respostas 2
Participantes 3