gpt4 book ai didi

mysql - 加入一个表并从这个新表中计算百分比

转载 作者:行者123 更新时间:2023-11-28 23:18:25 25 4
gpt4 key购买 nike

我正在尝试为我的公司制作一份财务数据报告:

我实际上有两个两张表:

___BillableDatas:

|--------|------------|----------|----------|--------------|---------------------|
| BIL_Id | BIL_Date | BIL_Type | BIL_Rate | BIL_Quantity | BIL_ApplicableTaxes |
|--------|------------|----------|----------|--------------|---------------------|
| 1 | 2017-01-01 | Night | 95 | 1 | 1 |
| 2 | 2017-01-02 | Night | 95 | 1 | 1 |
| 3 | 2017-01-15 | Night | 105 | 1 | 1 |
| 4 | 2017-01-15 | Item | 8 | 2 | 1,2 |
| 5 | 2017-02-14 | Night | 95 | 1 | 1 |
| 6 | 2017-02-15 | Night | 95 | 1 | 1 |
| 7 | 2017-02-16 | Night | 95 | 1 | 1 |
| 8 | 2017-03-20 | Night | 89 | 1 | 1 |
| 9 | 2017-03-21 | Night | 89 | 1 | 1 |
| 10 | 2017-03-21 | Item | 8 | 3 | 1,2 |
|--------|------------|----------|----------|--------------|---------------------|

___SalesTaxes:

|--------|------------|
| STX_Id | STX_Amount |
|--------|------------|
| 1 | 14.00 |
| 2 | 5.00 |
|--------|------------|

我需要知道每个月的含税收入和不含税收入总和。

实际上我可以制作报告,但不知道如何循环进入 ___SalesTaxes 表。

我实际拥有的是:

SELECT month(BIL_Date) AS month,
sum(BIL_Rate * BIL_Quantity) AS sumval
FROM `___BillableDatas`
WHERE BIL_Date BETWEEN "2017-01-01" AND "2017-12-31"
AND BIL_Type = "Night" OR BIL_Type = "Item"
GROUP BY year(BIL_Date), month(BIL_Date)

感谢您的帮助。

最佳答案

正如 kbball 提到的,您的主表中有一个 Unresolved 多对多关系。一张合适的表永远不应设计为每个字段具有多个值。解决多对多关系非常简单。您将需要创建一个新表,例如 bill_taxType 或类似的关系。新表将有两个字段以及标准主键,它将有 bill_id 和适用的税号。对于你的 1,2 字段,比如新表中的 bill id 4,它将看起来像

primary key,  bill id,  applicable tax id
1 4 1
2 4 2

在您的最终查询中,您将在适当的主键-外键关系上将所有三个连接在一起。这个最终查询应该包含您需要的数据。

关于mysql - 加入一个表并从这个新表中计算百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42842067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com