我正在使用AdventureWorks示例數據庫 - 我們正在運行SQL Server 2008R2,因此我假設這是AdventureWorks的版本(我擁有隻讀訪問權限)。我試圖獲得一份銷售經理名單,以便我可以確定一對夫婦與經理的關係。 我得到兩組三名不同名字的人,他們的職位名稱相同,CurrentFlag設置爲1(有效),查詢略有不同。我注意到一個結果組具有相同的contactID和employeeID,但我不確定這可能表示什麼。AdventureWorks SQL衝突的結果問題
所以問題是:爲什麼我得到完全不同的結果與這兩個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;
UPDATE:這是我的結果:
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
2個查詢看起來是一樣的...... – 2012-04-06 16:31:48
是的,抱歉,我沒有意識到我在本地複製了一個,而另一個在RDC上......更新了。 – Volvox 2012-04-06 16:32:25
如果您添加了2個表格的定義(所以我們看到FK),這很有幫助,但很明顯,您爲什麼會得到不同的結果。 「ON」條款是不同的。 – 2012-04-06 16:35:48