2013-06-19 40 views
1

我對這個網站有點新穎,並且在過去的一週中一直在教自己的微軟SQL來掩蓋工作,並希望你們能夠提供幫助。我必須將所有活動的患者都歸爲一類組,並且要告訴患者是否活動的唯一方法是如果患者沒有排出日期。我的代碼如下。Pulling Null date(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 = '空') - 它輸入代碼here`works沒有這條線。

當我查看字段時,我沒有看到任何信息,我看到有空值。

我相信這是簡單的。我對此非常青睞。提前致謝。

+2

列被稱爲'p.date_discharged'你在年底缺少d。 – Jacob

+0

它發生..高舉反擊倒票..! – user2407394

回答

2

嘗試p.date_discharged IS NULL你已經別名了你的表名,並且除了那裏以外都使用別名a,並且使用了錯誤的列名。 invalid column name是一個很好的暗示。

+0

不行。它仍然沒有結果。它沒有錯誤只是不拉任何東西。 –

+0

你確定有匹配的記錄嗎?慢慢建立你的查詢。從「where p.date_discharged IS NULL」開始,看看是否返回任何內容。同時驗證那裏有一條記錄符合所有條件。 – eidsonator

+0

我想我只是通過搜索null來計算出發生了什麼。它看起來像前端軟件切換 其中p.program_id = 'MH' 和p.protocol_id = 'GRP' 到 其中p.program_id = 'CSS' 和p.protocol_id = 'MH' 約2年前。我覺得我現在很好。只是一個我不知道系統在哪裏,我不是SQL的人。謝謝! –

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。

+0

有人對做不必要的倒退很滿意。看起來不錯,問題和答案都是贊成票:) – user2407394

+0

抱歉。我犯了一個錯誤重現它。我想知道爲什麼錯誤是不同的。像這樣,我只是得不到任何結果,但是如果我查看patient_assignment我從哪裏取出date_discharged字段中的空值。對不起,謝謝。 –

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,'')=''