Ver Mensaje Individual
  #1  
Antiguo 27-03-2018
dev2000 dev2000 is offline
Registrado
NULL
 
Registrado: mar 2018
Posts: 4
Reputación: 0
dev2000 Va por buen camino
Trasponer Columnas y Filas en SQLite

Hola Amigos, no soy muy experto en sqlite, mi duda es q quiero trasponer Filas en Columnas, me explico, tengo la siguiente Tabla:

Código SQL [-]
CREATE TABLE Muestras_Analizadas (
    IDMuestra TEXT,
    TenorAu   DOUBLE,
    IDLab     INTEGER
);

con los siguiebtes datos:

Código SQL [-]
select * from muestras_analizadas

IDMuestra |TenorAu |IDLab
Sample-01 |4.5 |1
Sample-02 |3.8 |1
Sample-03 |1.3 |1
Sample-03 |3.5 |2
Sample-01 |6.5 |2
Sample-03 |1.2 |1
Sample-01 |8 |3

Pero yo quisiera que la consulta me arrojara algo asi:

IDMuestra |Lab1 |Lab2 |Lab3
Sample-01 |4.5 |6.5 |8
Sample-02 |3.8 |null |null
Sample-03 |1.3 |3.5 |1.2

En un intento por lograrlo hice el siguiente código:

Código SQL [-]
SELECT  Muestras_Analizadas.IDMuestra,      
        (case when Muestras_Analizadas.IDLab = 1 then Muestras_Analizadas.TenorAu end) as Lab1,
        (case when Muestras_Analizadas.IDLab = 2 then Muestras_Analizadas.TenorAu end) as Lab2,
        (case when Muestras_Analizadas.IDLab = 3 then Muestras_Analizadas.TenorAu end) as Lab3
FROM   Muestras_Analizadas 
WHERE  (Muestras_Analizadas.IDLab in (select distinct IDLab from  Muestras_Analizadas) )
ORDER BY IDMuestra;

PERO ME ARROJA EL SIGUIENTE REPORTE:
IDMuestra |Lab1 |Lab2 |Lab3
Sample-01 |4.5 |null |null
Sample-01 |null |6.5 |null
Sample-01 |null |null |8
Sample-02 |3.8 |null |null
Sample-03 |1.3 |null |null
Sample-03 |null |3.5 |null
Sample-03 |null |null |1.2

Y si agrego un GROUP BY IDMuestra justo antes del ORDER BY, me arroja lo siguiente
IDMuestra |Lab1 |Lab2 |Lab3
Sample-01 |null |null |8
Sample-02 |3.8 |null |null
Sample-03 |null |null |1.2

Asi q agradezco la ayuda q me puedan prestar, gracias!!

Última edición por Casimiro Notevi fecha: 28-03-2018 a las 02:48:36.
Responder Con Cita