MS Server 2012
以下查询返回了正确的数据,但是我需要进行数据透视并且我的尝试失败了,任何帮助都将不胜感激。
查询...
SELECT
TrialSampleID,ReferenceReadID,Reference_Antibiotic,concat(Reference_Qualifier,' ',Reference_MIC,' ug/ml') AS 'MIC'
FROM
dbo.ClinicalTrial
JOIN dbo.ReferenceDataPointers ON ClinicalTrial.ID = ReferenceDataPointers.ClinicalTrialID
JOIN dbo.ReferencePlates ON ReferenceDataPointers.ReferenceSetID = ReferencePlates.ReferenceSetID
JOIN dbo.ReferenceReads ON ReferencePlates.ID = ReferenceReads.ReferencePlateID
JOIN dbo.ReferenceMICs ON ReferenceReads.ID = ReferenceMICs.ReferenceReadID
WHERE
TrialSampleID NOT LIKE 'REF-%'
AND SpecimenSource LIKE 'Clinical%'
AND Reference_ValidAntibiotic = 'True
'
结果...
TrialSampleID |ReferenceReadID |Reference_Antibiotic |MIC
CC-200001 | 4077 |Amikacin | = 8 ug/ml
CC-200001 | 4077 |Ampicillin | > 64 ug/ml
CC-200001 | 4077 |Aztreonam | > 64 ug/ml
CC-200001 | 4077 |Cefazolin | > 16 ug/ml
CC-200001 | 4077 |Cefepime | = 64 ug/ml
CC-200001 | 4077 |Ceftazidime | > 64 ug/ml
CC-200001 | 4077 |Ceftazidime/Avibactam | ≤ 2 ug/ml
CC-200001 | 4077 |Ertapenem | ≤ 0.125 ug/ml
CC-200001 | 4077 |Gentamicin | > 32 ug/ml
CC-200001 | 4077 |Levofloxacin | = 8 ug/ml
CC-200001 | 4077 |Meropenem | ≤ 0.125 ug/ml
CC-200001 | 4077 |Meropenem/Vaborbactam | ≤ 0.5 ug/ml
CC-200001 | 4077 |Piperacillin/Tazobactam | = 128 ug/ml
CC-200001 | 4077 |Trimethoprim/Sulfamethoxazole | > 8 ug/ml
每个TrialSampleID,该块重复6次,提供6个MIC
我希望采用以下格式的数据,但是在我旋转数据时,MIC列的结尾为NULL。
所需...
TrialSampleID |ReferenceReadID |Reference_Antibiotic |MIC1 |MIC2 |MIC3
CC-200001 | 4077 |Amikacin | = 8 ug/ml | = 8 ug/ml | = 8 ug/ml
CC-200001 | 4077 |Ampicillin | > 64 ug/ml | > 64 ug/ml | > 64 ug/ml
CC-200001 | 4077 |Aztreonam | > 64 ug/ml | > 64 ug/ml | > 64 ug/ml
CC-200001 | 4077 |Cefazolin | > 16 ug/ml | > 16 ug/ml | > 16 ug/ml
CC-200001 | 4077 |Cefepime | = 64 ug/ml | = 64 ug/ml | = 64 ug/ml
CC-200001 | 4077 |Ceftazidime | > 64 ug/ml | > 64 ug/ml | > 64 ug/ml
CC-200001 | 4077 |Ceftazidime/Avibactam | ≤ 2 ug/ml | ≤ 2 ug/ml | ≤ 2 ug/ml
CC-200001 | 4077 |Ertapenem | ≤ 0.125 ug/ml | ≤ 0.125 ug/ml | ≤ 0.125 ug/ml
CC-200001 | 4077 |Gentamicin | > 32 ug/ml | > 32 ug/ml | > 32 ug/ml
CC-200001 | 4077 |Levofloxacin | = 8 ug/ml | = 8 ug/ml | = 8 ug/ml
CC-200001 | 4077 |Meropenem | ≤ 0.125 ug/ml | ≤ 0.125 ug/ml | ≤ 0.125 ug/ml
CC-200001 | 4077 |Meropenem/Vaborbactam | ≤ 0.5 ug/ml | ≤ 0.5 ug/ml | ≤ 0.5 ug/ml
CC-200001 | 4077 |Piperacillin/Tazobactam | = 128 ug/ml | = 128 ug/ml | = 128 ug/ml
CC-200001 | 4077 |Trimethoprim/Sulfamethoxazole | > 8 ug/ml | > 8 ug/ml | > 8 ug/ml
试图...
PIVOT(
MIN(ReferenceReadID)
FOR MIC IN (
MIC1,MIC2,MIC3,MIC4,MIC5,MIC6
)
) pivoted