je la requête suivante:valeurs de l'enregistrement Pivoting aux noms de colonnes avec les tables jointes
SELECT
sp.SAMPLE_ID,
sp.PA_NAME,
sp.NRESULT,
sp.PARAM_UNITS,
s.LOT
FROM
DANM..SAMPLEPARAM AS sp
LEFT JOIN DANM..SAMPLE AS s
ON sp.SAMPLE_ID = s.SAMPLE_ID
WHERE
s.METHOD_SUBCLASS = 'BATCH'
AND sp.PA_NAME IN ('AL_V','CA_V','CO_V')
AND sp.ENTERED_ON > DATEADD(MONTH,-12,GETDATE())
ORDER BY
s.LOT, sp.PA_NAME
Un sous-ensemble des données résultant ressemble à quelque chose comme ceci:
SAMPLE_ID | PA_NAME | NRESULT | PARAM_UNITS | LOT
010001459826 | AL_V | 1.70000000 | PPB | U6X599
010001459826 | CA_V | 1.40000000 | PPB | U6X599
010001459826 | CO_V | 0.70000000 | PPB | U6X599
010001459828 | AL_V | 2.40000000 | PPB | U6X600
010001459828 | CA_V | 1.60000000 | PPB | U6X600
010001459828 | CO_V | 0.70000000 | PPB | U6X600
Je suis en train de faire pivoter la enregistrements de PA_NAME tels que j'obtiens un enregistrement unique pour chaque valeur LOT unique et des colonnes pour chaque PA_NAME répertorié dans la clause WHERE plus SAMPLE_ID et PARAM_UNITS. Donc, quelque chose comme ceci:
LOT | AL_V | CA_V | CO_V | PARAM_UNITS | SAMPLE_ID
U6X599 | 1.70000000 | 1.40000000 | 0.70000000 | PPB | 010001459826
U6X600 | 2.40000000 | 1.60000000 | 0.70000000 | PPB | 010001459828
j'ai essayé de jouer avec l'opérateur PIVOT, mais ne peut pas sembler obtenir le résultat que je cherche avec elle. Toute aide serait grandement appréciée.