gpt4 book ai didi

sql - 使用 WHERE 子句连接多个表

转载 作者:行者123 更新时间:2023-12-03 19:41:42 25 4
gpt4 key购买 nike

我有一个主表(项目列表)以及几个连接在一个公共(public)字段(RecNum)上的子表。我需要按列获取所有子表的总数,但不知道该怎么做。这是表格设计的示例。每个表中有更多列,但我展示了列名和值的示例,以了解要做什么。

项目 list
|推荐 |
| 6 |

周A
|推荐 |用户名 |第 1 天注册 |第 1 天 | Day2Reg | Day2OT |第 3 天注册 | Day3OT |
| 6 |只是我 | 1 | 2 | 3 | 4 | 5 | 6 |
| 6 |不是我 | 1 | 2 | 3 | 4 | 5 | 6 |

周B
|推荐 |用户名 |第 1 天注册 |第 1 天 | Day2Reg | Day2OT |第 3 天注册 | Day3OT |
| 6 |只是我 | 7 | 8 | 1 | 2 | 3 | 4 |
| 6 |不是我 | 7 | 8 | 1 | 2 | 3 | 4 |

所以第一个查询应该返回两个用户的完整总数,如下所示:

| sumDay1Reg |和天1OT | sumDay2Reg |和天2OT | sumDay3Reg | sumDay3OT |
| 16 | 20 | 8 | 12 | 16 | 20 |

第二个查询应该只返回指定用户的总数,(WHERE UserName = 'JustMe'),如下所示:

| sumDay1Reg |和天1OT | sumDay2Reg |和天2OT | sumDay3Reg | sumDay3OT |
| 8 | 10 | 4 | 6 | 8 | 10 |

最佳答案

拥有多个存储相同类型数据的表是个坏主意;你应该有一个 Weeks具有一周附加列的表。

无论如何,处理此表结构的最简单方法是先合并表:

SELECT SUM(Day1Reg) AS sumDay1Reg,
SUM(Day10T) AS sumDay10T,
...
FROM (SELECT * FROM WeekA
UNION ALL
SELECT * FROM WeekB)
WHERE userName = 'JustMe' -- optional

关于sql - 使用 WHERE 子句连接多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28118425/

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