我有三个类似于以下的表:
tbl发票:Number | Date | Customer
tblInv详细信息:Invoice | Quantity | Rate | Description
tbl付款:Invoice | Date | Amount
我创建了一个名为 exInvDetails
的查询添加 Amount
列至tblInvDetails
:
SELECT tblInvDetails.*, [tblInvDetails.Quantity]*[tblInvDetails.Rate]* AS Amount
FROM tblInvDetails;
然后我创建了一个查询 exInvoices
添加Total
和Balance
列至tblInvoices
:
SELECT tblInvoices.*,
(SELECT Sum(exInvDetails.Amount) FROM exInvDetails WHERE exInvDetails.Invoice = tblInvoices.Number) AS Total,
(SELECT Sum(tblPayments.Amount) FROM tblPayments WHERE tblPayments.Invoice = tblInvoices.Number) AS Payments,
(Total-Payments) AS Balance
FROM tblInvoices;
如果tblPayments
中没有相应的付款,字段为 null 而不是 0
。有没有办法强制生成的查询放置 0
在本专栏中?
最佳答案
使用nz()
函数,如nz(colName, 0)
。这将返回 colName
,除非它为 null,在这种情况下,它将返回第二个参数(在本例中为 0)。
关于sql - 如何在 MS Access 查询中指定默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2981117/