2009-11-04 21 views
0

我有2個表Employee和Company_Employee。如何在mysql中像加入2個表一樣

員工: ID,名字

Company_Employee: ID,COM​​PANY_ID,EMPLOYEE_ID

我想做的名字進行的搜索。我在想我的查詢看起來像:

select FirstName, ID from Employee where FirstName LIKE '%John%' and ID in (select id from Company_Employee) 

該查詢返回任何行。有誰知道我可以如何通過這兩個表的名字獲得像這樣的行嗎?

謝謝!

+0

您已經使用從Company_Employee ID字段 - 你不應該已經使用的Employee_ID(內括號內)? – 2009-11-04 15:34:56

回答

4

您的查詢比較了company_employee.id和employee.id。它可能應該比較employee.id和company_employee。 employee_id

您可以通過加入更清晰地重寫查詢:

select * 
from employee e 
join company_employee ce 
    on e.id = ce.Employee_ID 
where e.FirstName like '%John%' 
0

像這樣的事情

SELECT 
* 
FROM 
Employee e 
INNER JOIN Company_Employee ce JOIN ON e.Id = ce.Id) 
WHERE 
FirstName LIKE '%JOHN%'