2010-03-28 67 views
15

我有這個非常簡單的SQL語句:多部分組成的標識符無法綁定

SELECT  max_dose 
FROM   psychotropes 
WHERE  (patient_meds.psychotrope = psychotrope_name) AND (patient_meds.patient_id = 12) 

當我嘗試在Visual Studio 2008中運行它,它告訴我:「多部分「patient_meds.psychotrope 「標識無法綁定」

它的怪異,因爲我沒有設置在圖查看器中的兩個表之間的關係

回答

16

我想你必須包括patient_meds表列表如下:

FROM psychotropes, patient_meds 
+0

omg。我不相信我犯了這個錯誤。好吧,它已經有幾個月了,我沒有碰到連接... thx男人 – jello 2010-03-28 05:00:17

+2

這是一種舊式的加入...糟糕的形式。請參閱durilai的關於JOIN關鍵字使用的回答 – gbn 2010-03-28 10:08:11

+0

@gbn以及** durilai的關於JOIN關鍵字的答案** – 2013-08-03 09:30:18

9

您不在查詢中包含該表。不知道模式,這只是一個假設。另外一個數據庫圖對於查詢沒有任何幫助。

SELECT ax_dose 
FROM psychotropes 
INNER JOIN patient_meds ON psychotropes.psychotrope_name = patient_meds.psychotrope 
WHERE (patient_meds.patient_id = 12) 
+0

「另外一個數據庫圖對查詢沒有任何幫助」,你的意思是我不需要將兩個表與外鍵連接在一起來加入它們? – jello 2010-03-28 05:06:23

+2

@jello:從技術上講,在大多數RDBMS中,沒有。不過,這仍然是一個好主意。 – 2010-03-28 05:11:21

+0

@durilai:一個ERD節省了不得不運行多個'DESC table'命令來獲得相同的信息。 – 2010-03-28 05:17:00

相關問題