我最近在将发票放在一个易于查看的表格中的过程中做得很好。我通常手动完成但我想自动做的事情是列出发票上有多少项目。我手动查看发票,发现一只狗在狗窝里待了 3 天并洗了个澡,所以我3 Board, 1 Bath
在电子表格中放了类似的东西。
我的表格列出了这些(InvoiceItems.IIItemQuantity
和InvoiceItems.IIItemCodeDesc
),以及它们属于什么发票(InvoiceItems.IIInvSeq
)。
所以我想添加到我的其他查询中的信息如下所示:
QUANTITY | ITEMDESC | INVOICE | PETID
---------|----------|---------|------
3 | BOARD | 12344 | 12
1 | BATH | 12344 | 12
4 | BOARD | 12345 | 14
4 | PLAY | 12345 | 14
1 | BATH | 12345 | 14
4 | BOARD | 12345 | 15
2 | PLAY | 12345 | 15
1 | BATH | 12345 | 15
这将是发票 12344 的一只狗(宠物编号 12)获得了 3 个 BOARD、1 个 BATH,而发票 12345 有两只狗(宠物编号 14 和 15)获得了 4 个 BOARD、4 PLAY、1 BATH 和 4 BOARD、2 PLAY、1分别洗澡。我的桌子目前看起来像这样:
DATE | NAME | TOTAL | LNAME
---------|------|-------|-------
1/1/2013 | ODIE | 75 | SMITH
1/1/2013 | YODA | 115 | QWERT
1/1/2013 | C3PO | 90 | QWERT
查询如下所示:
SELECT
Invoices.InDate,
Pets.PtPetName,
SUM([IIQuantity]*[IIEach]) AS Total,
Clients.CLLastName
FROM
(((Clients INNER JOIN Pets ON Clients.CLSeq = Pets.PtOwnerCode)
INNER JOIN
Invoices ON Clients.CLSeq = Invoices.InClientSeq)
INNER JOIN
InvoiceItems ON (Invoices.InSeq = InvoiceItems.IIInvSeq)
AND (Pets.PtSeq = InvoiceItems.IIPetSequence))
INNER JOIN
Inventory ON InvoiceItems.IIItemCode = Inventory.InvSeq
WHERE (((Invoices.InDate)>#12/31/2012#))
GROUP BY Invoices.InDate,
Pets.PtPetName,
Clients.CLLastName,
Invoices.InSeq
ORDER BY Invoices.InSeq;
我希望表格以某种方式获得另一列“项目”,即 InvoiceItems.IIItemQuantity 和 InvoiceItems.IIItemCodeDesc 的组合。我一直在寻找各种连接事物的方法,但没有什么能接近工作(我有一堆内部连接,我不知道我是否需要,或者真的很多关于这一切的事情.)