none
Mostrar los Encabezados en Columnas RRS feed

  • Pregunta

  • Buenas Tardes

    tengo una cosulta simple

    select  cp.Lote, cp.FechaFabricacion, cp.FechaVerificacion + 181 as FechaVerificacion,
    cp.ViscosidadSevers, cp.ChorreoPastilla, cp.EsfuerzoRupturaTraccion,
    cp.DeslizamientoPastilla, cp.FinezaGrano, cp.PorcentajeSolidos, cp.EstabilidadTermica, cp.DeslizamientoPastilla
    from  dbo.CaracteristicasProductos cp inner join dbo.Productos p on p.Codigo = cp.CodigoProduc
    inner join dbo.Clientes c on c.IdCliente = cp.IdCliente
    where cp.Lote = '123-456' and p.NombreProducto = 'PRODUIT DE CALAGE'


    me da el siguiente resultado


    Lote FechaFabricacion FechaVerificacion ViscosidadSevers ChorreoPastilla EsfuerzoRupturaTraccion DeslizamientoPastilla FinezaGrano PorcentajeSolidos EstabilidadTermica DeslizamientoPastilla1
    123-456    22/03/2012 19/09/2012 67 2 2.6 0 45 98.0 78 0


    quiero saber si con SQL Server puedo ver el resultado asi


    Lote                      123-456

    FechaFabricacion  22/03/2012

    FechaVerificacion  19/09/2012

    ViscosidadSevers  67

    ChorreoPastilla 2

    EsfuerzoRupturaTraccion 2.6

    DeslizamientoPastilla 0

    FinezaGrano 45

    miércoles, 28 de marzo de 2012 18:23

Respuestas

  • Bueas Tardes Camilo512,

    Vea si el scrpit abajo con esto

    es un ejemplo.

    -- CREATE VARIABLE TABLE 
    -----------------------------------------------------------------------
    DECLARE  @pvt AS TABLE (Lote varchar(20), 
    				  FechaFabricacion date, 
    				  FechaVerificacion date,
    				  ViscosidadSevers int, 
    				  ChorreoPastilla int, 
    				  EsfuerzoRupturaTraccion float,
    				  DeslizamientoPastilla int,
    				  FinezaGrano int);
    -- insert row
    -----------------------------------------------------------------------
    
    
    insert into @pvt values('123-456',GETDATE(),GETDATE(),67,2,2.6,0,45);
    
    -- UNPIVOT
    -----------------------------------------------------------------------
    
    SELECT 
    	   Teste,
    	   Orders
    FROM 
       (SELECT  
    	   CAST(Lote AS VARCHAR(20))					LOTE, 
    	   CAST(FechaFabricacion AS VARCHAR(20))		FechaFabricacion, 
    	   CAST(FechaVerificacion AS VARCHAR(20))		FechaVerificacion,
    	   CAST(ViscosidadSevers AS VARCHAR(20))		ViscosidadSevers,
    	   CAST(ChorreoPastilla AS VARCHAR(20))			ChorreoPastilla, 
    	   CAST(EsfuerzoRupturaTraccion AS VARCHAR(20)) EsfuerzoRupturaTraccion,
    	   CAST (DeslizamientoPastilla AS VARCHAR(20))	DeslizamientoPastilla,
    	   CAST(FinezaGrano AS VARCHAR(20))				FinezaGrano
       FROM @pvt) p
    UNPIVOT
       (Orders FOR Teste IN 
          (      
           LOTE,	   
    	   FechaFabricacion,	   
    	   FechaVerificacion,	   
    	   ViscosidadSevers,	   
    	   ChorreoPastilla,	   
    	   EsfuerzoRupturaTraccion,	   
    	   DeslizamientoPastilla,	   
    	   FinezaGrano)
    )AS unpvt;
    GO

    Saludos,

    Adriano Nascimento

    • Marcado como respuesta camilo512 miércoles, 28 de marzo de 2012 20:59
    miércoles, 28 de marzo de 2012 20:05

Todas las respuestas

  • Bueas Tardes Camilo512,

    Vea si el scrpit abajo con esto

    es un ejemplo.

    -- CREATE VARIABLE TABLE 
    -----------------------------------------------------------------------
    DECLARE  @pvt AS TABLE (Lote varchar(20), 
    				  FechaFabricacion date, 
    				  FechaVerificacion date,
    				  ViscosidadSevers int, 
    				  ChorreoPastilla int, 
    				  EsfuerzoRupturaTraccion float,
    				  DeslizamientoPastilla int,
    				  FinezaGrano int);
    -- insert row
    -----------------------------------------------------------------------
    
    
    insert into @pvt values('123-456',GETDATE(),GETDATE(),67,2,2.6,0,45);
    
    -- UNPIVOT
    -----------------------------------------------------------------------
    
    SELECT 
    	   Teste,
    	   Orders
    FROM 
       (SELECT  
    	   CAST(Lote AS VARCHAR(20))					LOTE, 
    	   CAST(FechaFabricacion AS VARCHAR(20))		FechaFabricacion, 
    	   CAST(FechaVerificacion AS VARCHAR(20))		FechaVerificacion,
    	   CAST(ViscosidadSevers AS VARCHAR(20))		ViscosidadSevers,
    	   CAST(ChorreoPastilla AS VARCHAR(20))			ChorreoPastilla, 
    	   CAST(EsfuerzoRupturaTraccion AS VARCHAR(20)) EsfuerzoRupturaTraccion,
    	   CAST (DeslizamientoPastilla AS VARCHAR(20))	DeslizamientoPastilla,
    	   CAST(FinezaGrano AS VARCHAR(20))				FinezaGrano
       FROM @pvt) p
    UNPIVOT
       (Orders FOR Teste IN 
          (      
           LOTE,	   
    	   FechaFabricacion,	   
    	   FechaVerificacion,	   
    	   ViscosidadSevers,	   
    	   ChorreoPastilla,	   
    	   EsfuerzoRupturaTraccion,	   
    	   DeslizamientoPastilla,	   
    	   FinezaGrano)
    )AS unpvt;
    GO

    Saludos,

    Adriano Nascimento

    • Marcado como respuesta camilo512 miércoles, 28 de marzo de 2012 20:59
    miércoles, 28 de marzo de 2012 20:05
  • hola, quizas esto te sirve

    http://www.elguille.info/NET/ADONET/firmas_salva_Pivot_Unpivot.htm


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala.
    Saludos.
    Lima-Perú

    miércoles, 28 de marzo de 2012 20:22
  • Muchas Gracias me sirvio, era lo que necesitaba, pero funciona si quito las fechas.

    me sale este error cuando lo ejecuto con las fechas

    Mens. 2715, Nivel 16, Estado 7, Línea 3
    Columna, parámetro o variable nº 2: no se encuentra el tipo de datos date.


    • Editado camilo512 miércoles, 28 de marzo de 2012 21:06 Mala escritura
    miércoles, 28 de marzo de 2012 21:06
  • ya lo corregi,

    FechaFabricacion datetime, y no FechaFabricacion date


    miércoles, 28 de marzo de 2012 21:08