SQL-当所有左联接都添加一个新表联接-初学者总数

问题描述

我需要在查询添加其他联接的帮助。

当前所有表都从SO_Header外部连接,但是我还需要一个名为RANGE的表中的一些数据,该表仅链接到MODEL表。

如何编辑脚本以引入RANGE表?

我正在使用Excel中从Microsoft查询获取数据。

从我的脚本中提取

FROM dbo.so_HEADER SO_HEADER LEFT OUTER JOIN 
     dbo.WEEK_NUMBERS WEEK_NUMBERS 
     ON SO_HEADER.soH_Build_Week = WEEK_NUMBERS.WEEK_Week_No AND
        SO_HEADER.soH_Build_Year = WEEK_NUMBERS.WEEK_Year LEFT OUTER JOIN
     dbo.MODEL MODEL 
     ON SO_HEADER.soH_Model = MODEL.MODEL_Code LEFT OUTER JOIN
     dbo.RETAILERS RETAILERS 
     ON SO_HEADER.soH_Retailer = RETAILERS.RET_Code LEFT OUTER JOIN
     dbo.FACTORY_OPTIONS FACTORY_OPTIONS 
     ON SO_HEADER.soH_Upholstery = FACTORY_OPTIONS.FAC_Code LEFT OUTER JOIN
     dbo.FINANCE_HOUSES FINANCE_HOUSES 
     ON SO_HEADER.soH_Finance = FINANCE_HOUSES.FIN_Code

解决方法

假设您的范围表中有一个名为 RANGE_MODEL_Code 的外键,则可以像这样联接模型和范围

您还可以根据业务需求更改想要联接表的方式(即让联接,内部联接或外部联接)

FROM dbo.SO_HEADER SO_HEADER LEFT OUTER JOIN 
     dbo.WEEK_NUMBERS WEEK_NUMBERS 
     ON SO_HEADER.SOH_Build_Week = WEEK_NUMBERS.WEEK_Week_No AND
        SO_HEADER.SOH_Build_Year = WEEK_NUMBERS.WEEK_Year LEFT OUTER JOIN
     dbo.MODEL MODEL 
     ON SO_HEADER.SOH_Model = MODEL.MODEL_Code LEFT OUTER JOIN
     dbo.RANGE RANGE
     ON MODEL.MODEL_Code = RANGE.RANGE_MODEL_Code LEFT OUTER JOIN
     dbo.RETAILERS RETAILERS 
     ON SO_HEADER.SOH_Retailer = RETAILERS.RET_Code LEFT OUTER JOIN
     dbo.FACTORY_OPTIONS FACTORY_OPTIONS 
     ON SO_HEADER.SOH_Upholstery = FACTORY_OPTIONS.FAC_Code LEFT OUTER JOIN
     dbo.FINANCE_HOUSES FINANCE_HOUSES 
     ON SO_HEADER.SOH_Finance = FINANCE_HOUSES.FIN_Code

根据您的架构从表i-e RANGE_MODEL_Code MODEL_Code 中更改表名和联接键