SQL - Consultar dos veces la misma tabla

 
Vista:
sin imagen de perfil
Val: 10
Ha disminuido su posición en 7 puestos en SQL (en relación al último mes)
Gráfica de SQL

Consultar dos veces la misma tabla

Publicado por Julio Cesar (3 intervenciones) el 08/03/2020 19:01:09
Buen dia, disculpen la pregunta si es obvia pero estoy iniciando en sql y necesito de su apreciable ayuda.
Tengo una tabla la cual tiene los siguientes campos:
Nombre: Ropa Cant Usada
Julio Pantalon 1
Julio Camisa 2
Julio Zapatos 1
Cesar Pantalon 2
Cesar Camisa 3
Cesar Tenis 2

Lo que busco es unificar esa misma tabla de la siguiente manera:

Nombre: Pant Camisa Zapatos Tenis
Julio 1 2 1
Cesar 2 3 0 2

Es decir que los datos de esa tabla no esten repetidos hacia abajo, si no que los oriente a la derecha con sus respectiva informacion.

Les agradezco de manera infinita su apoyo. Saludos..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 92
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consultar dos veces la misma tabla

Publicado por Luis Horacio (38 intervenciones) el 10/03/2020 14:59:03
Buenos días,

Puede probar con esta consulta

1
2
3
4
5
6
7
8
9
10
11
12
13
14
declare @columnas varchar(max), @cadena varchar(max)
 
set @columnas = ''
select @columnas = coalesce(@columnas + '[' + ropa + '],', '')
from (select ropa from ropa group by ropa) as ropa
 
set @columnas = left(@columnas, LEN(@columnas) -1)
 
set @cadena = 'select * from
(select [nombre], [cant usada], [ropa]
	from Ropa
) as origen pivot (avg([cant usada]) for [ropa] in (' + @columnas + ')) as pivotTable'
 
exec(@cadena)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 10
Ha disminuido su posición en 7 puestos en SQL (en relación al último mes)
Gráfica de SQL

Consultar dos veces la misma tabla

Publicado por Julio Cesar (3 intervenciones) el 10/03/2020 23:08:33
Gracias por tu respuesta, no se si me puedas seguir ayudando intente replicar esto en otra tabla y no me funciono,

Tabla se llama: ContribucionesPedimento.
Campos de la tabla:

PatenteAduanal, NumeroPedimento, ClaveSeccionAduaneraDespacho, ClaveContribucion, ClaveFormaPago, ImportePago, ClaveTipoPedimento, FechaPagoReal

Los datos de la tabla son:

Patente Aduanal Numero de pedimento ClaveSeccionAduaneraDespacho ClaveContribucion ClaveFormaPago ImportePago Fecha
490 1234567 110 1 9 123 10/04/2017
490 1234567 110 21 0 321 10/04/2017
490 1234567 110 15 0 54 10/04/2017
3474 2345678 190 1 0 31 15/04/2017
3474 2345678 190 21 0 22 15/04/2017
3474 2345678 190 15 0 54 15/04/2017

Lo que busco es separarlo por el campo ClaveContribucion (se pueden dar varios supuestos: entre ellos clave 1, clave 21, clave 15, clave 30..) y agruparlo a la derecha de la siguiente manera

Patente pedimento Aduana PagoClave1 PagoClave21 PagoClave15 ForPago1 ForPago21 ForPago115
490 1234567 110 123 321 54 9 0 0
3474 2345678 190 31 22 54 9 0 0

Te agradezco infinitamente tu apoyo. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar