我试图查询临床实践管理数据库以返回与四个不同字段的值列表(icd-9代码)中的任何值匹配的数据集,但那么只返回患者的身份证号码,或者仅返回具有ICD-9代码之一的该患者的第一条记录。然后,我打算做一些子报告,为我提供患者需要的其余数据,包括最后一例/访问的icd-9代码。在选定数据集(ADS)中删除具有相同ID的记录
该软件生成类似以下内容:
SELECT DISTINCT
MWTRN."Chart Number" AS Chart_Number,
MWTRN."Diagnosis Code 1" AS Diagnosis_Code_1,
MWTRN."Diagnosis Code 2" AS Diagnosis_Code_2,
MWTRN."Diagnosis Code 3" AS Diagnosis_Code_3,
MWTRN."Diagnosis Code 4" AS Diagnosis_Code_4,
MWTRN."Date From" AS Date_From,
MWTRN."Date To" AS Date_To,
MWPAT."First Name" AS First_Name,
MWPAT."Last Name" AS Last_Name
FROM MWTRN MWTRN, MWPAT MWPAT
WHERE
(MWPAT."Chart Number" = MWTRN."Chart Number")
GROUP BY MWTRN."Chart Number",
MWTRN."Diagnosis Code 1",
MWTRN."Diagnosis Code 2",
MWTRN."Diagnosis Code 3",
MWTRN."Diagnosis Code 4",
MWTRN."Date From", MWTRN."Date To",
MWPAT."Last Name", MWPAT."First Name"
生成的数据集我怎么能回去下来配对后的结果?
我读过几个广告支持的SQL教程网站来阅读生成的SQL,并认为我需要的是DISTINCT,但这只会检查整个记录是否不同,而不仅仅是ID。
- Layman使用Advantage Database Server和报告软件,它可能以某种方式绑定到Crystal Reports。
此外,在这种情况下,人们能快速起步吗?大多数人选择课程,还是关于关系数据库可访问的原始论文? – Radix 2010-09-20 20:39:27
不是一个完整的答案,但你可以做SELECT TOP 1 ....只返回第一个命中。 – JNK 2010-09-20 20:47:19
太棒了,谢谢! – Radix 2010-09-21 18:42:52