我有一个包含代码的表(即8202-6),并且在不同的列中有一个结果值。我使用“Case When”函数将代码从单个列中取出,并根据代码编号将它们放在不同的列中。但是,现在我最终在行中有一堆空值,一个代码有一个结果。我想用它的相应值替换实际代码(即8206-6 =高度,结果75)。因此,在高度列中,我得到LOINC代码而不是75的高度值。任何人都可以帮我找出正确的代码。下面是我用来分隔列的代码示例。
Select Distinct
p.PatientID,
Convert(varchar, fs.obsdate, 101) as Date_of_Service,
p.LASTNAME,
p.FIRSTNAME,
CONVERT(varchar, "p"."DATEOFBIRTH", 101) as DOB,
Case When fs.loinccode='8302-2' Then fs.loinccode end as Height,
Case When fs.loinccode='3141-9' Then fs.loinccode end as Weight,
Case When fs.loinccode='8310-5' Then fs.loinccode end as Temperature,
Case When fs.loinccode='8287-5' Then fs.loinccode end as HeadCircumf,
Case When fs.loinccode='8867-4' Then fs.loinccode end as Pulse,
Case When fs.loinccode='9279-1' Then fs.loinccode end as Respiration,
Case When fs.loinccode='8480-6' Then fs.loinccode end as BPSystolic,
Case When fs.loinccode='8462-4' Then fs.loinccode end as BPDiastolic,
fs.obsvalue as Test_Results,
fs.units as Test_Units
From
PERSON as p
Left Outer join flowsheet_observation fs on fs.pid=p.pid
结果:
Height Weight Temperature HeadCircumf Pulse Respiration BPSystolic BPDiastolic Test_Results Test_Units
NULL NULL NULL NULL NULL NULL NULL NULL + history of lef tshoulder dislocation 10 years ago Current Meds: NULL
NULL NULL NULL NULL NULL NULL NULL NULL never NULL
NULL NULL NULL NULL NULL NULL NULL NULL regular NULL
NULL NULL NULL NULL NULL NULL NULL NULL tympanic NULL
NULL NULL NULL NULL NULL NULL NULL 8462-4 100 mm Hg
NULL NULL NULL NULL NULL NULL 8480-6 NULL 140 mm Hg
NULL NULL NULL NULL 8867-4 NULL NULL NULL 82 /min
NULL NULL 8310-5 NULL NULL NULL NULL NULL 99.1 deg F
NULL 3141-9 NULL NULL NULL NULL NULL NULL 283 lb
8302-2 NULL NULL NULL NULL NULL NULL NULL 72.5 in
NULL NULL NULL NULL NULL NULL NULL NULL 37.72 NULL
NULL NULL NULL NULL NULL NULL NULL NULL regular NULL
NULL NULL NULL NULL NULL NULL NULL NULL tympanic NULL
NULL NULL NULL NULL NULL NULL NULL 8462-4 100 mm Hg
NULL NULL NULL NULL NULL NULL 8480-6 NULL 142 mm Hg
NULL NULL NULL NULL 8867-4 NULL NULL NULL 86 /min
NULL NULL 8310-5 NULL NULL NULL NULL NULL 99.4 deg F
NULL 3141-9 NULL NULL NULL NULL NULL NULL 281 lb
对此的任何帮助将不胜感激。
答案 0 :(得分:0)
您需要创建一个表code_names,它将代码与其含义相关联,
code | label
8302-2 | Height
3141-9 | Weight
...
然后用它连接flowheet_observation并选择标签而不是代码。不需要所有这些案件。
编辑:如果不能创建代码表,可以使用union创建代码关系:
SELECT'8302-2'AS代码,'高度'AS标签 联盟 选择'3141-9'AS代码,'重量'AS标签 联盟 ...
答案 1 :(得分:0)
TRY使用MAX(结束时的情况) 和其他字段分组