我有2个表Employee和Company_Employee。
员工: ID,FirstName
Company_Employee: ID,Company_ID,Employee_ID
我想通过名字进行搜索。我在想我的查询看起来像:
select FirstName, ID from Employee where FirstName LIKE '%John%' and ID in (select id from Company_Employee)
此查询不返回任何行。有谁知道我如何通过这两个表获得FirstName之类的行?
谢谢!
答案 0 :(得分: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%'
答案 1 :(得分:0)
像这样的东西
SELECT
*
FROM
Employee e
INNER JOIN Company_Employee ce JOIN ON e.Id = ce.Id)
WHERE
FirstName LIKE '%JOHN%'