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!!