我有 2 个表 Employee 和 Company_Employee。
员工: 身份证、名字
公司_员工: ID, Company_ID, Employee_ID
我想按名字搜索。我在想我的查询应该是这样的:
select FirstName, ID from Employee where FirstName LIKE '%John%' and ID in (select id from Company_Employee)
此查询不返回任何行。有谁知道我如何使用这 2 个表通过 FirstName 获取带有 like 的行?
谢谢!
最佳答案
您的查询将 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%'
关于sql - 如何在mysql中基于类似连接2个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1674541/