C# 在MS Access中,左连接未返回记录
我最近的项目我有一个打印应收账款摘要的要求。我需要返回C# 在MS Access中,左连接未返回记录,c#,sql,ms-access,left-join,C#,Sql,Ms Access,Left Join,我最近的项目我有一个打印应收账款摘要的要求。我需要返回OpeningBalance表中的整行以及VoucherHeader和Customers中的匹配行 我的SQL查询如下 SELECT OpeningBalance.OpenID, Sum(OpeningBalance.Amount) AS SumOfAmount, Sum(VoucherHeader.Debit) AS SumOfDebit, Sum(VoucherHeader.Credit) AS SumOfCredi
OpeningBalance
表中的整行以及VoucherHeader
和Customers
中的匹配行
我的SQL查询如下
SELECT
OpeningBalance.OpenID, Sum(OpeningBalance.Amount) AS SumOfAmount,
Sum(VoucherHeader.Debit) AS SumOfDebit, Sum(VoucherHeader.Credit) AS SumOfCredit,
Customers.CustomerID, Customers.CustomerName
FROM
(OpeningBalance
LEFT OUTER JOIN
VoucherHeader ON OpeningBalance.OpenID = VoucherHeader.LedgerID)
INNER JOIN
Customers ON OpeningBalance.OpenID = Customers.CustomerID
WHERE
(((Customers.CustomerType)='Debtor')
AND ((VoucherHeader.VoucherDate)<#2013/06/02#))
GROUP BY
OpeningBalance.OpenID, Customers.CustomerID, Customers.CustomerName,
VoucherHeader.LedgerID
ORDER BY
Customers.CustomerName;
选择
OpeningBalance.OpenID,总和(OpeningBalance.Amount)为SumOfAmount,
金额(VoucherHeader.Debit)作为利息之和,金额(VoucherHeader.Credit)作为信用之和,
Customers.CustomerID,Customers.CustomerName
从…起
(打开天平
左外连接
OpeningBalance.OpenID=VoucherHeader.LedgerID上的VoucherHeader)
内连接
OpeningBalance.OpenID=Customers.CustomerID上的客户
哪里
((Customers.CustomerType)=“债务人”)
和((VoucherHeader.VoucherDate)选择OB.OpenID,Sum(OB.Amount)作为SumOfAmount,
金额(VB.借方)为利息之和,金额(VB.贷方)为信用之和,CS.客户ID,
来自OpeningBalance OB的CS.CustomerName
OB.OpenID=VB.LedgerID上的左外部联接VoucherHeader VB
在OB.OpenID=CS.CustomerID上左外部加入客户CS
其中((CS.CustomerType)=“债务人”)和((VB.VoucherDate)有什么问题?请描述您希望实现的目标以及这些表之间的关系。
SELECT OB.OpenID, Sum(OB.Amount) AS SumOfAmount,
Sum(VB.Debit) AS SumOfDebit, Sum(VB.Credit) AS SumOfCredit, CS.CustomerID,
CS.CustomerName FROM OpeningBalance OB
LEFT OUTER JOIN VoucherHeader VB ON OB.OpenID = VB.LedgerID
LEFT OUTER JOIN Customers CS ON OB.OpenID = CS.CustomerID
WHERE (((CS.CustomerType)='Debtor') AND ((VB.VoucherDate)<#2013/06/02#))
GROUP BY OB.OpenID, CS.CustomerID, CS.CustomerName, VB.LedgerID
ORDER BY CS.CustomerName;