【发布时间】:2016-09-02 09:09:37
【问题描述】:
美好的一天!我希望有一个人可以帮助我。下面我写下了我的结构和问题。 我有这张发票明细表: 发票明细表
Invoice | Detail | Product | Price | VAT % | VAT € | TOTAL |
------- | -------|---------|-------|-------|-------|-------|
0001 | 1 | X | € 100 | 21 | € 21 | € 121 |
0001 | 2 | X | € 200 | 21 | € 42 | € 242 |
0001 | 3 | X | € 100 | 6 | € 6 | € 106 |
现在我想进行选择查询以获取以下值:
想要的查询结果:
Invoice | SumofVAT 6% | SumofVAT 21% |
------- | ------------|--------------|
0001 | €6 | € 63 |
在此查询之后,我可以使用更新查询将此数据写入我的发票表:
Invoice | Client | Date | Price | VAT 6% | VAT 21% |
------- | -------|---------|-------|--------|---------|
0001 | B10 |01-01-01 | € 469 | € 6 | € 63 |
我尝试了很多东西。我遇到的问题是,当一个特定的产品只有一种或多种产品,其中一种增值税为 %。然后查询返回 Null。
我想我应该有:
1) 计算发票 xxxx 的总增值税 6% 的查询(返回发票编号和 6% 的总增值税)
2) 计算发票 xxxx 的总增值税 21% 的查询(返回发票编号和 21% 的总增值税)
3) 如果这些查询之一返回 Null,则应返回发票编号和增值税总额 0,00 欧元
希望有人可以帮助我。
6% QUERY 的图片:(21% 相等,但条件为“21”)
SQL 版本:
SELECT FactuurDetails.Factuurnummer, FactuurDetails.[BTW in %],Sum(FactuurDetails.[BTW in EURO]) AS [SumOfBTW in EURO]
FROM FactuurDetails
GROUP BY FactuurDetails.Factuurnummer, FactuurDetails.[BTW in %]
HAVING (((FactuurDetails.Factuurnummer)=[Forms]![Facturen]!
在这里您可以看到如果发票中只有 21%(或相反)的产品,则查询结果将为空。
【问题讨论】:
-
分享您尝试获得上述结果的查询。
-
将您的查询分享为文本代码 plz
-
我们需要您查询的 SQL 版本才能为您提供帮助
-
将这些内容写入 Invoices 表是错误的。它违反了规范化的关系设计原则,并引入了传递依赖。除非你有客观的理由去规范化,否则不要这样做。
标签: sql ms-access if-statement select