如何显示来自多个表的所有记录,而不考虑join语句上的匹配

如何显示来自多个表的所有记录,而不考虑join语句上的匹配,join,syntax,sql-server-2012,full-outer-join,Join,Syntax,Sql Server 2012,Full Outer Join,我很难找到正确的语法来正确构造这个查询。我试图显示SalesHistoryDetail和SalesVsBudget表中的所有记录。我相信我的查询允许SalesVsBudget上的一些记录不被提取,而我希望它们都在那个时期,不管是否有相应的销售。这是我的密码: SELECT MAX(a.DispatchCenterOrderKey) AS DispatchCenter, a.CustomerKey, CASE WHEN a.CustomerKey IN

我很难找到正确的语法来正确构造这个查询。我试图显示SalesHistoryDetail和SalesVsBudget表中的所有记录。我相信我的查询允许SalesVsBudget上的一些记录不被提取,而我希望它们都在那个时期,不管是否有相应的销售。这是我的密码:

SELECT  MAX(a.DispatchCenterOrderKey) AS DispatchCenter, 
        a.CustomerKey, 
CASE WHEN a.CustomerKey IN
             (SELECT AddressKey
              FROM FinancialData.dbo.DimAddress
              WHERE AddressKey >= 99000 AND AddressKey <= 99599) THEN 1 ELSE 0 END AS InterCompanyFlag, 
    MAX(a.Customer) AS Customer, 
        a.SalesmanID, 
    MAX(a.Salesman) AS Salesman, 
        a.SubCategoryKey, 
    MAX(a.SubCategoryDesc) AS Subcategory, 
    SUM(a.Value) AS SalesAmt, 
        b.FiscalYear AS Year, 
        b.FiscalWeekOfYear AS Week, 
    MAX(c.BudgetLbs) AS BudgetLbs, 
    MAX(c.BudgetDollars) AS BudgetDollars
FROM   dbo.SalesHistoryDetail AS a 
LEFT OUTER JOIN dbo.M_DateDim AS b ON a.InvoiceDate = b.Date 
FULL OUTER JOIN dbo.SalesVsBudget AS c ON a.SalesmanID = c.SalesRepKey 
                                  AND a.CustomerKey = c.CustomerKey 
                                  AND a.SubCategoryKey = c.SubCategoryKey 
                                  AND b.FiscalYear = c.Year AND b.FiscalWeekOfYear = c.WeekNo
GROUP BY a.SalesmanID, a.CustomerKey, a.SubCategoryKey, b.FiscalYear, b.FiscalWeekOfYear

我从两个不同的数据集中提取数据,显然是SalesHistoryDetail表和SalesVsBudget表。我希望从SalesVsBudget表中获取所有BudgetLB和BudgetDell值,无论它们在联接中是否匹配。我还需要所有匹配的加入记录,但我还需要SalesVsBudget中的所有记录。基本上,我希望显示所有销售记录,并在销售人员、客户、子类别、年度和周匹配时引用SalesVsBudget中的预算值,但我还希望看到在我的日期范围内的预算条目,这些条目在该期间没有相应的销售记录。希望这是有道理的。我觉得我很接近,但我的预算数字并不能反映全部情况,我想这是因为我的一些记录被排除在外了!请帮忙

我可以通过玩完整的外部连接来实现这一点。我的问题是SalesVsBudget中的记录比SalesHistory_V多。因此,我必须使SalesVsBudget成为表和SalesHistory_V中的初始记录,并使用完整的外部联接和所有记录对齐