我有一個用于測驗的 Access 資料庫,其中包含兩個表,tbvendite 和 tbpagamenti。在 tbvendite 中,我輸入了與客戶有關的每筆銷售,指定日期、Idcliente、cliente、id 操作和操作以及金額。在 tbpagamenti 中,我寫下了客戶支付的所有款項,這些款項可能是按銷售日期分組的金額總和。
條件是客戶可以在一天內購買但不能付款,這樣他就可以在不購買的情況下支付之前的暫停金額。我應該為客戶提取報告(或長報告),但我考慮使用的查詢并沒有產生我希望的結果。
SELECT tbvendite.data, tbvendite.idcliente, tbvendite.cliente,
Sum(iif(tbvendite.importo is null,0,tbvendite.importo)) AS amount,
Nz(SS.importo,0) AS PAY
FROM tbvendite
INNER JOIN (SELECT tbpagamenti.idcliente,
Sum(IIf(tbpagamenti.importo Is Null,0,tbpagamenti.importo)) AS Pay
FROM tbpagamenti
GROUP BY tbpagamenti.idcliente) AS SS
ON tbvendite.idcliente = SS.idCliente
GROUP BY tbvendite.data, tbvendite.idcliente, tbvendite.cliente;
鈣鈦礦

tbpagamenti

當前結果

uj5u.com熱心網友回復:
在訪問中以視覺方式執行此操作的一種方法是
- 創建一個 UNION 視圖,它使用為表創建的兩個視圖
- 使用所需的聚合創建第二個查詢。
- 運行第二個查詢
所以一步
- 使用聯合將您的兩個表合并為 1,并將其作為查詢保存在名為“qryDailySalesPay”的資料庫中,對于本示例。
- 按資料、idcliente、cliente 匯總和匯總資訊。
qryDailySalesPay:
SELECT tbvendite.data
, tbvendite.idcliente
, tbvendite.cliente
, iif(tbvendite.importo is null,0,tbvendite.importo) AS Amount
, 0 AS PAY
FROM tbvendite
UNION ALL
SELECT tbpagamenti.data
, tbpagamenti.idcliente
, tbpagamenti.cliente
, 0 as amount
, IIf(tbpagamenti.importo Is Null,0,tbpagamenti.importo) AS Pay
FROM tbpagamenti
qryDailySalesPay總結:
SELECT data, ideliente, cliente, sum(amount) as SumAmount, sum(Pay) as SumPay
FROM qryDailySalesPay
GROUP BY data, idcliente, cliente;
MSFT 聯合檔案
使用派生的“DatasALL”表的替代方法。 - 筆記; 您可以將其設為 qrySalesAmountDatas 并替換派生表。
- 獲取所有日期
- 獲取與這些日期匹配的所有銷售額
- 獲得與這些日期匹配的所有付款
- 確保客戶在銷售和付款之間匹配
- 總計。
.
SELECT tbvendite.data
, tbvendite.idcliente
, tbvendite.cliente
, Sum(iif(tbvendite.importo is null,0,tbvendite.importo)) AS SumAmount
, Sum(IIf(tbpagamenti.importo Is Null,0,tbpagamenti.importo)) AS SumPay
FROM (SELECT Distinct data FROM tbvendite
UNION
SELECT DISTINCT data from tbpagamenti) AS DatasAll
LEFT JOIN tbvendite
on DatasAll.data = tbvendite.data
LEFT JOIN tbpagamenti
on DatasAll.data = tbpagamenti.data
AND tbvendite.idcliente=tbpagamenti.cliente
GROUP BY tbvendite.data
, tbvendite.idcliente
, tbvendite.cliente
uj5u.com熱心網友回復:
我認為您需要將Nz (SS.importo, 0)替換為SS.Pay "importo" 不屬于子查詢 (SS)
問候
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/455710.html
