Usuário com melhor resposta
Varias Linhas em uma celula de uma table

Pergunta
-
olá pessoal, estou aqui com mais uma duvida...
tenho uma table com tres colunas e varias linhas, sendo q cada recebe um valor de um dataset.
no meio da minha table tenho uma celula q posso receber varios valores, consequentemente o numero de linhas daquela row será o numero de registros retornados na query.
isso é possivel?
___________________________________________
|________|_________A_______|______1_________|
|________|_________B_______|______2_________|
| | | O numero de |
| | C | Linhas dessa |
| | | celula varia |
|________|_________________|________________|
|________|_________D_______|________4____ __|
Respostas
-
Bom dia Wesley,
Como essa informação está vindo do seu banco de dados? Se o formato for o seguinte:
Code SnippetCOLUNA1 COLUNA2
A 1
B 2
C XXX
C AAA
C ZZZ
D 4Então você tem que criar um agrupamento pela Coluna1 no RS.
Att
Boreki
- Marcado como Resposta Richard Juhasz quinta-feira, 28 de fevereiro de 2013 12:46
Todas as Respostas
-
-
-
-
Não. o que quero fazer é: dentro de um mesmo textbox, colocar todos os registros em linhas separadas.
ex: se este campo troxer 3 registros ficará assim:
___________________________________________
|________|_________A_______|______1_________|
|________|_________B_______|______2_________|
| | | _XXX___________ |
| | C | _AAA__________ |
| | | _ZZZ___________ |
|________|_________________|________________|
|________|_________D_______|________4____ __|
se este campo troxer 5 registros ficará assim:
___________________________________________
|________|_________A_______|______1_________|
|________|_________B_______|______2_________|
| | | _XXX____________ |
| | | _AAA___________ |
| | C | _ZZZ___________ |
| | | _CCC___________ |
|_______| _________________| _BBB___________ |
|________|_________D_______|________4____ __|
-
Veja se o exemplo lhe da uma luz:
Code Snippet
drop table #res
drop table #tabcreate table #res (linha varchar(200)) -- Receberá o resutlado
create table #tab (nome varchar(20), data datetime, valor int) --tabela massa de teste
insert into #tab (nome, data, valor) values ('Marcos', '01/01/2003', 100)
insert into #tab (nome, data, valor) values ('Marcos', '2003/01/15', 55)
insert into #tab (nome, data, valor) values ('Marcos', '02/02/2003', 135)
insert into #tab (nome, data, valor) values ('Carlos', '01/02/2003', 75)
insert into #tab (nome, data, valor) values ('Carlos', '02/01/2003', 35)DECLARE @nome as varchar(20), @nome_antes as varchar(20), @data as datetime, @valor as int, @var as varchar(500)
DECLARE mycursor CURSOR FOR
select * from #tab order by nome,data
OPEN mycursor
FETCH NEXT FROM mycursor
INTO @nome, @data, @valor
select @nome_antes = @nome
select @var = ''
WHILE @@FETCH_STATUS = 0
BEGIN
if @nome = @nome_antes
set @var = @var + ' ' + convert(varchar(12),@data,103) + ' ' + convert(varchar(10),@valor)
else
begin
select @var = @nome_antes + ' ' + @var
insert into #res (linha) values (@var )
select @var = ''
select @nome_antes = @nome
set @var = @var + ' ' + convert(varchar(12),@data,103) + ' ' + convert(varchar(10),@valor)end
FETCH NEXT FROM mycursor
INTO @nome, @data, @valor
END
select @var = @nome_antes + ' ' + @var
insert into #res (linha) values (@var )
CLOSE mycursor
DEALLOCATE mycursor
GO
select * from #resÉ utilizado um CURSOR pra concatenar os campos. É só adaptar para o que vc quer.
-
Bom dia Wesley,
Como essa informação está vindo do seu banco de dados? Se o formato for o seguinte:
Code SnippetCOLUNA1 COLUNA2
A 1
B 2
C XXX
C AAA
C ZZZ
D 4Então você tem que criar um agrupamento pela Coluna1 no RS.
Att
Boreki
- Marcado como Resposta Richard Juhasz quinta-feira, 28 de fevereiro de 2013 12:46
-