0

我以为我知道足够多的 SQL,但我遇到了左外连接的问题。

我有一个费用明细记录,需要通过部门和帐户代码链接到表。

查询看起来像这样:

SELECT Detail.Spend, Budget.BudgetAmt 
FROM detail left outer join budget 
    ON detail.dept = budget.dept 
    AND dept.account_code = budget.account_code

只要有与连接条件完全匹配的记录,这就会很好。但有时,没有匹配的预算项目。我想从详细信息表中取回 Detail.Spend,其中budgetAmt 为空。相反,我根本没有得到这个记录。

当没有匹配时,Left Outer Join 不应该返回左(详细)表吗?当我在这里使用多个标准时有什么不同吗?

谢谢

4

1 回答 1

0

LEFT JOIN 运算符的行为应如您所愿。您的示例是整个查询吗?我问是因为有时我忘记了在 WHERE 子句中对连接表设置条件可能会导致此问题,除非我考虑 NULL 值。

于 2010-03-31T22:50:59.163 回答