我正在使用 AdventureWorks 示例数据库 - 我们正在运行 SQL Server 2008R2,所以我认为这是 AdventureWorks 的版本(我具有只读访问权限)。我正在尝试获取销售经理的列表,以便我可以确定几个员工/经理关系。我得到两组三个不同名字的人,他们的职位相同,他们的 CurrentFlag 设置为 1(活动),查询略有不同。我确实注意到一个结果组具有相同的contactID 和employeeID,但我不确定这可能表明什么。
所以问题是:为什么我对这两个 queires 得到完全不同的结果?我想我会得到六个结果 - 查询匹配员工表标题。
SQL 查询 1:
select c.FirstName, c.LastName, c.ContactID, e.EmployeeID, e.Title, c.Title, e.CurrentFlag from Person.Contact c inner join HumanResources.Employee e on c.ContactID = e.ContactID where e.Title like '%Sales Manager%'
SQL查询2:
SELECT e.EmployeeID, (c.FirstName + ' ' + c.LastName) as 'First Name and Last Name', e.Title FROM HumanResources.Employee e INNER JOIN Person.Contact c ON e.EmployeeID = c.ContactID Where e.Title LIKE '%Manager%' AND e.Title LIKE '%Sales%' ORDER BY e.EmployeeID;
更新:这些是我的结果:
SQL 查询 1:
------- ------- ---- --- ---------------------------- ---- -- Stephen Jiang 1011 268 North American Sales Manager NULL 1 Amy Alberts 1013 284 European Sales Manager NULL 1 Syed Abbas 1012 288 Pacific Sales Manager Mr. 1
SQL查询2:
--- --- ----------- ---------------------------- --- -- 268 268 Gary Drury North American Sales Manager Mr. 1 284 284 John Emory European Sales Manager Mr. 1 288 288 Julie Estes Pacific Sales Manager Ms. 1