我想知道将参数值传递给基础数据集中SQL中的“ VALUES”关键字的正确方法。我正在使用Microsoft Report Builder v3.0,查询MS-SQL数据库。
目前,经过大量的查询和堆栈溢出,为了找到诊断代码以“ AB”或“ XC”开头的患者,我提出了以下运行良好的SQL:
SELECT
x.PatientId
FROM
(
VALUES
('AB%'),
('XC%')
) AS v (pattern)
CROSS APPLY
(
SELECT
p.PatientId,
p.LastName
FROM
dbo.Patient p
inner join Course c on (c.PatientSer = p.PatientSer)
inner join CourseDiagnosis cd on (cd.CourseSer=c.CourseSer)
inner join Diagnosis diag on (diag.DiagnosisSer=cd.DiagnosisSer)
WHERE
diag.DiagnosisCode like v.pattern
) AS x
;
但是,我要做的是使搜索到的图案(由“ VALUES”关键字生成)在用户选择与特定图案组相对应的下拉框时生成。我为此使用了一个名为@Diagnoses的参数,其标签为“ Grouping1”(以后还会有其他分组-我打算使该参数为多值),其值为“'AB%','XC%'” ,但这是行不通的-报告运行了,但是什么也没返回,所以很明显我做错了。
我试图避免使用“ OR”关键字直接在WHERE子句中指定这些诊断代码,因为我在这些方面可以找到的所有内容似乎都涉及使用单独声明的函数,而模式规范/交叉应用解决方案似乎是最干净的。
有人可以帮我吗?
提前致谢。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句