Usuário com melhor resposta
Consulta com varios registros.

Pergunta
-
Tenho duas tabelas CCUSTO e MOVRATCCUSTO, estou dando um select nas duas e selecionando o NOME de CCUSTO e Codigo e valor de MOVRATCCUSTO, referente a um ID, que esta sendo passado por um Espelho (Que espelha o id do movimento selecionado).
Quero fazer com que essa consulta por exemplo se tiver 20 registros ao todo exiba 10 em uma coluna e o restante em outra coluna.
Exemplo: com 8 registros
Cod1 Custo1 10 Cod5 Custo5 50
Cod2 Custo2 20 Cod6 Custo6 60
Cod3 Custo3 30 Cod7 Custo7 70
Cod4 Custo4 40 Cod8 Custo8 80
Estou usando o sql server 2008 R2.
exemplo da sentença que estou usando:
SELECT MOVRATCCU.CODCCUSTO, GCCUSTO.NOME, MOVRATCCU.VALOR
FROM MOVRATCCU,GCCUSTO
WHERE gccusto.codccusto=movratccu.codccusto
and MOVRATCCU.IDMOV=:ESPELHO#1
Respostas
-
Não seria mais fácil fazer isso na aplicação do que via T-SQL? Precisa mesmo que o SQL já retorne os dados formatados em 2 colunas?
E se tiverem 9 linhas? Uma das colunas terão 5 linhas, qual delas? a primeira ou a segunda?
Abs.
Fabiano Neves Amorim - SQL Server MVP http://blogfabiano.com/
- Editado Fabiano Neves AmorimMVP quinta-feira, 20 de dezembro de 2012 16:39
- Marcado como Resposta Ricardo Russo segunda-feira, 21 de janeiro de 2013 12:31
-
Randson,
Meu amigo, este tipo de implementação é muito comum ser realizada através de um gerador de relatórios e não no SQL Server que não possui nenhuma funcionalidade que você possa indicar a quantidade de linhas por colunas.
A minha sugestão é que você pense em realizar este tipo de apresentação de dados na sua aplicação através de um DataGrid ou Gerador de Relatório.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
- Marcado como Resposta Ricardo Russo segunda-feira, 21 de janeiro de 2013 12:31
Todas as Respostas
-
Randson, boa noite!
Desculpa me ignorância mais não conheço esse tal de :ESPELHO#1, bom mais acho que entendi o que você precisa e se for o caso você pode usar o comando UNION ALL funciona assim:
select campo1, campo2, campo3, '', '','' from Custo where campo1 <= 10 union all select '','', '', campo4, campo5, campo6 from MOVCUSTO Where campo4 >10
Acredito que isso vai ajudar.
-
-
Não seria mais fácil fazer isso na aplicação do que via T-SQL? Precisa mesmo que o SQL já retorne os dados formatados em 2 colunas?
E se tiverem 9 linhas? Uma das colunas terão 5 linhas, qual delas? a primeira ou a segunda?
Abs.
Fabiano Neves Amorim - SQL Server MVP http://blogfabiano.com/
- Editado Fabiano Neves AmorimMVP quinta-feira, 20 de dezembro de 2012 16:39
- Marcado como Resposta Ricardo Russo segunda-feira, 21 de janeiro de 2013 12:31
-
Randson,
Meu amigo, este tipo de implementação é muito comum ser realizada através de um gerador de relatórios e não no SQL Server que não possui nenhuma funcionalidade que você possa indicar a quantidade de linhas por colunas.
A minha sugestão é que você pense em realizar este tipo de apresentação de dados na sua aplicação através de um DataGrid ou Gerador de Relatório.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
- Marcado como Resposta Ricardo Russo segunda-feira, 21 de janeiro de 2013 12:31