una pregunta pra los que saben

21/12/2006 - 20:50 por Jiordie | Informe spam
Digo para los que saben por que ya he intentado por todos lados y no he
podido,
cómo puedo hacer una vista o consulta para generar como registros los
campos? es decir...
Tengo
ID Registro Cantidad
01 25 30
02 35 80
03 15 50

y deseo obtener

Codigo Campo Valor
01 Registro 25
01 Cantidad 30
02 Registro 35
02 Cantidad 80
03 Registro 15
03 Cantidad 50

la verdad no pude y estoy pensando seriamente en poner a alguien a digitar
datos...
alguien me puede ayudar?

Preguntas similare

Leer las respuestas

#1 Jiordie
21/12/2006 - 21:49 | Informe spam
estoy haciendo cambios en las estructuras de algunas tablas, y lo que antes
era un campo ahora será un registro, pero como tengo información ahí
entonces necesito migrarla.

Gracias por tu ayuda!


"Isaias" escribió en el mensaje
news:
¿Para que?

Saludos
IIslas


"Jiordie" wrote:

Digo para los que saben por que ya he intentado por todos lados y no he
podido,
cómo puedo hacer una vista o consulta para generar como registros los
campos? es decir...
Tengo
ID Registro Cantidad
01 25 30
02 35 80
03 15 50

y deseo obtener

Codigo Campo Valor
01 Registro 25
01 Cantidad 30
02 Registro 35
02 Cantidad 80
03 Registro 15
03 Cantidad 50

la verdad no pude y estoy pensando seriamente en poner a alguien a
digitar
datos...
alguien me puede ayudar?



Respuesta Responder a este mensaje
#2 Alejandro Mesa
21/12/2006 - 22:21 | Informe spam
Corrección:

use northwind
go

create table dbo.t1 (
id int not null,
registro int not null,
cantidad int not null
)
go

insert into dbo.t1 values(01, 25, 30)
insert into dbo.t1 values(02, 35, 80)
insert into dbo.t1 values(03, 15, 50)
go

select
t1.[id],
case t2.c1
when 1 then 'registro'
when 2 then 'cantidad'
end as campo,
case t2.c1
when 1 then t1.registro
when 2 then t1.cantidad
end as valor
from
dbo.t1
cross join
(select 1 as c1 union all select 2) as t2
order by
t1.[id]
go

select
[id],
case campo
when 'c1' then 'registro'
when 'c2' then 'cantidad'
end as campo,
valor
from
(
select id, c1, c2
from (select [id], registro as c1, cantidad as c2 from dbo.t1) as t
) as p
unpivot
(
valor for campo in (c1, c2)
) as unpvt
order by
[id]
go

drop table dbo.t1
go


AMB


"Alejandro Mesa" wrote:

Jiordie,

Creo que pudieras usar el operador UNPIVOT en 2005 o simularlo en 2000.

use northwind
go

create table dbo.t1 (
id int not null,
registro int not null,
cantidad int not null
)
go

insert into dbo.t1 values(01, 25, 30)
insert into dbo.t1 values(02, 35, 80)
insert into dbo.t1 values(03, 15, 50)
go

select
t1.[id],
case t2.c1
when 1 then 'c1'
when 2 then 'c2'
end as campo,
case t2.c1
when 1 then t1.registro
when 2 then t1.cantidad
end as valor
from
dbo.t1
cross join
(select 1 as c1 union all select 2) as t2
order by
t1.[id], campo
go

select [id], campo, valor
from
(
select id, c1, c2
from (select [id], registro as c1, cantidad as c2 from dbo.t1) as t
) as p
unpivot
(
valor for campo in (c1, c2)
) as unpvt
order by
[id], campo
go

drop table dbo.t1
go


AMB


"Jiordie" wrote:

> Digo para los que saben por que ya he intentado por todos lados y no he
> podido,
> cómo puedo hacer una vista o consulta para generar como registros los
> campos? es decir...
> Tengo
> ID Registro Cantidad
> 01 25 30
> 02 35 80
> 03 15 50
>
> y deseo obtener
>
> Codigo Campo Valor
> 01 Registro 25
> 01 Cantidad 30
> 02 Registro 35
> 02 Cantidad 80
> 03 Registro 15
> 03 Cantidad 50
>
> la verdad no pude y estoy pensando seriamente en poner a alguien a digitar
> datos...
> alguien me puede ayudar?
>
>
>
Respuesta Responder a este mensaje
#3 Javier Loria
22/12/2006 - 01:26 | Informe spam
Hola:
Que tal:
==SELECT ID, 'Registro' AS Campo, Registro AS Valor
FROM TABLA
UNION ALL
SELECT ID, 'Cantidad', Cantidad
FROM TABLA
ORDER BY ID, Campo
== Saludos,

Javier Loria
Costa Rica-MVP
Solid Quality Learning

"Jiordie" wrote in message
news:
Digo para los que saben por que ya he intentado por todos lados y no he
podido,
cómo puedo hacer una vista o consulta para generar como registros los
campos? es decir...
Tengo
ID Registro Cantidad
01 25 30
02 35 80
03 15 50

y deseo obtener

Codigo Campo Valor
01 Registro 25
01 Cantidad 30
02 Registro 35
02 Cantidad 80
03 Registro 15
03 Cantidad 50

la verdad no pude y estoy pensando seriamente en poner a alguien a digitar
datos...
alguien me puede ayudar?

Respuesta Responder a este mensaje
#4 Maxi
22/12/2006 - 13:20 | Informe spam
Hola, los que saben ya te han respondido, yo solo te quiero comentar q no es
bueno poner post asi, podes llegar a dejar a que una persona q sepa tu
respuesta no quiera responder por el tipo de mail, aca estamos todos para
ayudar y no es un soporte de Microsoft sino un foro


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Jiordie" escribió en el mensaje
news:
Digo para los que saben por que ya he intentado por todos lados y no he
podido,
cómo puedo hacer una vista o consulta para generar como registros los
campos? es decir...
Tengo
ID Registro Cantidad
01 25 30
02 35 80
03 15 50

y deseo obtener

Codigo Campo Valor
01 Registro 25
01 Cantidad 30
02 Registro 35
02 Cantidad 80
03 Registro 15
03 Cantidad 50

la verdad no pude y estoy pensando seriamente en poner a alguien a digitar
datos...
alguien me puede ayudar?

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida