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

Chodzi o to, aby wybrać wszystkich pracowników, którzy przyjeżdżają do Nowego Jorku, ale zawsze, gdy uruchamiam zapytanie, zawsze otrzymuję pole "Wprowadź wartość parametru". Jak mogę to naprawić?Dlaczego otrzymuję "Wpisz wartość parametru" podczas uruchamiania mojego zapytania MS Access?

+0

Czy naprawdę masz kolumnę o nazwie [CityName] lub jest to [nazwa miasta]? – CarneyCode

Odpowiedz

7

Dzieje się tak, ponieważ program Access nie zezwala na użycie aliasów pól w zapytaniu - nie rozpoznaje [Nazwa miasta] jako poprawnej nazwy pola. Aliasy są używane tylko jako nazwy pól w zestawie wyników. Zamiast tego musisz użyć całego wyrażenia.

Jako taka, ta kwerenda będzie prawdopodobnie łatwiej zdefiniowane w programie Access jako:

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

Również „Nazwa” jest słowem zarezerwowanym - używając go jako nazwy pola nie sugeruje.

+0

Dziękuję bardzo za pomoc. Teraz rozumiem: D – Teiv

+0

Cieszę się, że to słyszę. –

0

wypróbuj pojedyncze cudzysłowy zamiast podwójnych cudzysłowów.

+0

Próbowałem, ale nic nie działało :( – Teiv

Powiązane problemy