2016-11-28 43 views
0
select lunch_date 
from l_lunches 
where employee_id = (select employee_id 
from l_employees 
where hire_date < #1/1/2000#;) 

收到一個錯誤聲明,說明這個子查詢有什麼問題?

預先感謝您

+0

你的子查詢(從l_employees SELECT僱員,其中HIRE_DATE < #1/1/2000#; )正在返回多個記錄。考慮使用JOIN語句。 – dbardelas

+1

如果您的子查詢返回的值不止一個值,您應該使用'IN'而不是'='。 –

回答

0

嘗試:

select lunch_date 
from l_lunches 
where employee_id IN (select employee_id 
from l_employees 
where hire_date < #1/1/2000#;) 
+0

謝謝@sean bartram,這是問題所在 – Clay

0

「最多一個記錄可以通過這個子查詢返回」查詢的這個部分應該返回最多隻有一個值,它的工作。

select employee_id 
from l_employees 
where hire_date < #1/1/2000 

你能後的問題說明,或者嘗試使用交叉應用等

+0

謝謝第一個人幫助我感謝你和你的時間。 – Clay

0

你的子查詢必須返回一個以上的記錄,你可以嘗試,如果你想要那個HIREDATE後,列出所有員工內部聯接

select lunch_date 
    from l_lunches 
    inner join l_employees on l_lunches.employee_id = l_employees.employee_id 
where l_employees.hire_date < #1/1/2000# 
+0

謝謝第一個答案對我有用,但我很感謝你的時間。我可以看到你的位置也有意義。 – Clay