我當前的查詢:從單獨的表再回到名稱,而不是ID爲兩列查詢
SELECT CONCAT(emp.firstName, ' ', emp.lastName), gear.gearCata
FROM gear_search as gear
LEFT OUTER JOIN employee as emp ON gear.PrimarySalesid = emp.salesid
WHERE gear.CompanyName = 'rty';
我要的是結果,列出主要和次要銷售人員的姓氏和名字,而不是自己的ID的,次要的必須顯示空結果爲空,所以我可以看到它們排列在哪裏。
So like this
PrimarySales Name | GearCatagory | Secondary Name
Bill Jones Climbing NULL
Terry Anderson Running Bill Jones
... and so on
基本上,gear_search表沒有銷售人民名字只是他們的一次和二次銷售ID對每個交易。我必須使用員工表來獲取他們的真實姓名。
我知道我可以做到這一點:
SELECT CONCAT(emp.firstName, ' ', emp.lastName), gear.gearCata, gear.SecondarySalesid
FROM gear_search as gear
LEFT OUTER JOIN employee as emp ON gear.PrimarySalesid = emp.salesid
WHERE gear.CompanyName = 'rty';
但這將只是顯示他們Secondarysalesid沒有他們的名字。
我已經嘗試再次在Secondarysalesid上再次加入員工,並再次使用CONCAT,但它不會與主要人員正確對齊。我需要看看哪些交易只有小學,然後(小學和中學)
任何意見將不勝感激。
這實際上並不適用於我們的生產數據庫,當gear_search表只有160行並且員工只有320行時,它返回了20000個結果。感謝幫助不少於... –
@trail_runner嘗試添加DISTINCT - 請參閱編輯的答案。另外,你確定你正確地複製了連接條件嗎?我推薦複製粘貼,因爲如果你錯誤地輸錯了一個字符,比如'emp'而不是'emp2',你可能會得到瘋狂的結果 – Bohemian
仍然不能正常工作?現在發生了什麼?也許顯示一些示例數據,這樣我們就有了一些代碼。 – Bohemian