1

我对这个网站有点陌生,过去一周一直在自学 Microsoft SQL 以应付工作,希望你们能提供帮助。我必须将所有活跃的患者拉到一个组中,判断患者是否活跃的唯一方法是患者是否没有出院日期。我的代码如下。

select
p.clinic_id,
p.program_id,
p.protocol_id,
p.patient_id,
p.date_discharged
from patient_assignment p
where p.program_id = 'MH'
and p.protocol_id = 'grp'
and p.date_discharged IS NULL

(也尝试过 date_discharge = 'Null') - 它在此处输入代码`无需此行即可工作。

当我查看我看到有空值的字段时,它没有提取任何信息。

我敢肯定这很简单。我对此非常满意。提前致谢。

4

3 回答 3

2

尝试p.date_discharged IS NULL你已经为你的表名起别名,并a在除那里之外的任何地方使用别名,以及使用了错误的列名。这invalid column name是一个很好的提示。

于 2013-06-19T14:51:33.973 回答
1

尝试这个 :

select
p.clinic_id,
p.program_id,
p.protocol_id,
p.patient_id,
p.date_discharged
from patient_assignment p
where p.program_id = 'MH'
and p.protocol_id = 'grp'
and date_discharged IS NULL

您错过了 date_discharged 和 date_discharge。

于 2013-06-19T14:50:54.027 回答
0

尝试ISNULL

select
p.clinic_id,
p.program_id,
p.protocol_id,
p.patient_id,
p.date_discharged
from patient_assignment p
where p.program_id = 'MH'
and p.protocol_id = 'grp'
and ISNULL(p.date_discharged,'')=''
于 2013-06-19T15:01:44.450 回答