2010-11-20 58 views
6
SELECT ID, 
     Name, 
     (SELECT CityName 
     FROM City 
     WHERE Employee.CityID = City.CityID) AS [City Name] 
FROM Employee 
WHERE [City Name] = "New York" 

我關於選擇所有來紐約的員工,但每當我運行查詢時,我總是會得到一個「輸入參數值」框。我怎樣才能解決這個問題?運行我的MS Access查詢時,爲什麼會收到「輸入參數值」?

+0

你真的有一個名爲[CityName]的列還是它是[City Name]? – CarneyCode 2010-11-20 12:16:08

回答

7

這是因爲Access不允許您在查詢中使用字段別名 - 它不會將[City Name]識別爲有效的字段名稱。別名僅用作結果集中的字段名稱。相反,你需要使用整個表達式。

因此,該查詢可能會更容易在Access中定義爲:

SELECT ID, 
     Name, 
     CityName AS [City Name] 
FROM Employee INNER JOIN City 
    ON Employee.CityID=City.CityID 
WHERE CityName = "New York" 

此外,「名稱」是保留字 - 使用它作爲一個字段名稱不建議。

+0

非常感謝您的幫助,我現在明白了:D – Teiv 2010-11-20 12:30:12

+0

我很高興聽到它。 – 2010-11-20 13:57:06

0

嘗試用單引號代替雙引號。

+0

我嘗試過,但沒有任何工作:( – Teiv 2010-11-20 12:17:10