Dig*_*aft 3 sql t-sql sql-server
我正在为一家多站点公司构建IT支持票务门户。我无法理解JOIN,INNER JOIN,ON等问题。
我有3张桌子:
Support_Ticket包含Site_ID,我已经从先前的查询中获得了。因此,我有Site_ID,并且需要获取负责该站点支持的工程师的名称(字符串)。可以说Hull是Site_ID:1。
其他2个表:
Site_Details:(包含)Site_ID和Site_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]
Run Code Online (Sandbox Code Playgroud)
如果有道理?
此查询应该工作:
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 )
Run Code Online (Sandbox Code Playgroud)
它将显示所有票证及其默认工程师。添加- WHERE子句以过滤要显示的票证。
顺便说一句:JOIN和之间没有区别INNER JOIN。