2012-10-03 100 views
2

問題問「中顯示其職位的所有員工的名字是一樣的,在銷售部的人」,但選擇多行與一個子查詢

SELECT name, job 
FROM Employer WHERE job=(SELECT job FROM employer WHERE dept = sales); 

不會因爲子查詢工作返回多個值。我如何解決這個問題?

+0

我刪除了「家庭作業」標記,因爲它不應該再使用。看到[這個問題](http://meta.stackexchange.com/questions/147100/the-homework-tag-is-now-officially-deprecated)瞭解更多信息。 –

回答

4

嘗試使用in

SELECT name, job 
    FROM Employer 
    WHERE job in (SELECT job FROM employer WHERE dept = sales); 
+0

+1打我0.5秒 –

+0

這很簡單,謝謝。 – spacitron

0

@Parado具有最簡單的解決方案。請記住,但是,in關鍵字實際上只是一個join。例如,您的查詢與以下內容相同:

SELECT e1.name, e1.job 
FROM Employer e1 
    JOIN Employer e2 on e1.job = e2.job 
WHERE e2.dept = 'sales'