Ver Mensaje Individual
  #2  
Antiguo 20-02-2014
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Reputación: 19
olbeup Va camino a la fama
Cita:
Empezado por StartKill Ver Mensaje
Buenas foro,

Saludos foro, me dirijo a Uds. a un problema que aun no se como voy a solucionar.

Estoy trabajando sql server 2008

Tengo una tabla con los siguientes datos:

donde codigo y item es mi primary key
1.- codigo --> char(10)
2.- item --> int
3.- valor -->varchar(3)


Mis datos son mas o menos asi:

codigo, item, valor
cod001, 1, .t.
cod001, 2, .t.
cod001, 3, .i.
cod001, 4, .w.
----------------
cod002, 1, .i.
cod002, 2, .i.
cod002, 3, .i.
cod002, 4, .t.
--------------
cod004, 1, .w.
cod004, 2, .t.
cod004, 3, .w.
cod004, 4, .w.

Me gustaria tener un resultado asi:

codigo, f1, f2, f3, f4
cod001 .t. .t. .t. .w.
cod002 .i. .i. .i. .t.
cod004 .w. .t. .w. .w.

Esperando que mi duda/problema sea resuelto con la ayuda de Uds
Your friend
Startkil
Lima-Perú
Hola StartKill,

Lo que planteas se consigue con el PIVOT, mira a ver si te vale.
Código SQL [-]
SELECT
    CODIGO
    ,[1] AS F1
    ,[2] AS F2
    ,[3] AS F3
    ,[4] AS F4
  FROM
    (
     SELECT
          CODIGO
          ,ITEM
          ,VALOR
        FROM  myTable
    ) AS P
    PIVOT
      (
        MAX(VALOR)
        FOR ITEM IN ([1], [2], [3], [4])
      ) AS PVT

Un saludo
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita