目前我有3张表已成功加入,tbl_Monthly_Chgs
,tbl_Master_Phone
和tbl_inventory
。我目前正在将主电话表加入到每月费用表中,并且将库存表连接到主电话表。这为我提供了所有月费和这些费用的设备ID的输出,包括那个没有设备ID的月费(每月费用表中的每月费用多于库存表)。这一切都很完美,期望库存表和月度费用表都包含许多字段的ID而不是实际描述。为了获得每个ID的描述,我需要通过连接添加更多表。当我尝试在Access中的表设计视图中构建它时,我收到一条错误消息,指出由于外部连接不明确而无法完成此操作。我尝试对SQL进行更改,但遇到了问题。以下是我尝试过的最后一件事。有没有办法将这些额外的表添加到具有内部联接的查询中,并仍然使用左连接,而不必分割查询?
SELECT tbl_Inventory.Device_Model
,,tbl_Inventory_Monthly_Charges.Bill_Cycle_Date
,tbl_Monthly_Charges.Client_ID
,tbl_Monthly_Charges.Client_Name
,tbl_Monthly_Charges.ECPD_ID
,tbl_Monthly_Charges.Invoice
,tbl_Monthly_Charges.Account_Number
,tbl_Monthly_Charges.User_Name
,tbl_Monthly_Charges.Cost_Center
,tbl_Monthly_Charges.Plan_Description_Display
,tbl_Monthly_Charges.Category
,tbl_Monthly_Charges.Sub_Plan_Category
,tbl_Monthly_Charges.Cost
,tbl_Master_Phone.Wireless_Number
,Max(tbl_Inventory.Bill_Cycle_Date) AS MaxOfBill_Cycle_Date
FROM (
tbl_Master_Phone INNER JOIN tbl_Monthly_Charges ON tbl_Master_Phone.Wireless_Number = tbl_Monthly_Charges.Wireless_Number
tbl_Master_Device INNER JOIN tbl_Inventory ON tbl_Master_Device.Device_Model = tbl_Inventory.Device_Model
)
LEFT JOIN tbl_Inventory ON tbl_Master_Phone.ID = tbl_Inventory.Wireless_Number
GROUP BY tbl_Inventory.Device_Model
,tbl_Inventory_Monthly_Charges.Bill_Cycle_Date
,tbl_Monthly_Charges.Client_ID
,tbl_Monthly_Charges.Client_Name
,tbl_Monthly_Charges.ECPD_ID
,tbl_Monthly_Charges.Invoice
,tbl_Monthly_Charges.Account_Number
,tbl_Monthly_Charges.User_Name
,tbl_Monthly_Charges.Cost_Center
,tbl_Monthly_Charges.Plan_Description_Display
,tbl_Monthly_Charges.Category
,tbl_Monthly_Charges.Sub_Plan_Category
,tbl_Monthly_Charges.Cost
,tbl_Master_Phone.Wireless_Number;
答案 0 :(得分:0)
我建议将每月费用表的所有内部联接放入一个子查询中,然后将所有内部联接加入另一个子查询中的库存。从那里开始,我将使用2个子查询加入原始选择。