2012-07-11 76 views
2

我正在爲多站點公司構建IT支持門票。 我不能讓我的頭周圍JOIN,INNER JOIN,ON等TSQL INNER JOIN

我有3個表:

  • 首先Support_TicketSite_ID,我已經從先前的查詢有。

因此,我有Site_ID,並且需要獲取負責支持該網站的工程師的姓名(字符串)。比方說HullSite_ID:1

另2個表:

  • Site_Details:含有(等等)Site_IDSite_Default_Engineer_ID
  • Engineers:含(除其他之外)[Engineer_ID]和Engineer_Display_Name

我想達到什麼是(僞代碼!):

return [Engineers].[Engineer_Display_Name] 
where 
    [Engineers].[Engineer_ID] = [Site_Details].[Site_Default_Engineer_ID] 
    (but first) return [Site_Details].[Site_Default_Engineer_ID] where 
    [Site_Details].[Site_ID] = [Support_Ticket].[Site_ID] 

如果是有道理的?

+0

你到目前爲止嘗試過什麼?即使失敗,看到你已經嘗試過的東西也是有用的。 – 2012-07-11 11:00:50

+0

我正在運行2個單獨的查詢(在'這將工作,直到我細化它'基礎) sql =「SELECT [Site_Default_Engineer_ID] from [Site_Details] WHERE [Site_ID] =」+ siteNo.ToString() (一些代碼) 的engineerID = dbread2.GetValue(0)的ToString() (一些代碼) SQL = 「SELECT從[Engineer_Display_Name] [工程師] WHERE [Engineer_ID] =」 +的engineerID (一些代碼) engineerName = dbread1.GetValue(0).ToString() (某些代碼) – 2012-07-11 11:23:49

回答

4

這個查詢應該工作:

SELECT support_ticket.something, engineers.engineer_display_name 
FROM support_ticket 
JOIN site_details ON (site_details.site_id = support_ticket.site_id) 
JOIN engineers ON (engineers.engineer_id = site_details.site_default_engineer_id) 

它會顯示出所有的門票和它們的默認工程師。添加WHERE條款以過濾要顯示的故障單。

BTW:JOININNER JOIN之間沒有區別。