join - 内连接返回重复记录
问题描述
我想做一些简单的事情,但我不知道该怎么做。
我的桌子:
Report_Period | 实体 | 标签 | 用户数 | Report_Period_M-1 | Report_Period_Q-1 | ... |
---|---|---|---|---|---|---|
2017-06-30 | 实体 1 | X | 471 | 2017-05-31 | 2017-03-31 | ... |
2020-12-31 | 实体 2 | 一个 | 135 | 2020-11-30 | 2020-09-30 | ... |
2020-11-30 | 实体 3 | X | 402 | 2020-10-31 | 2020-08-31 | ... |
我想要的是 :
Report_Period | 实体 | 标签 | 用户数 | 用户数_M-1 | Users_Count_Q-1 | ... |
---|---|---|---|---|---|---|
2017-06-30 | 实体 1 | X | 471 | 450 | 438 | ... |
2020-12-31 | 实体 2 | 一个 | 135 | 122 | 118 | ... |
2020-11-30 | 实体 3 | X | 402 | 380 | 380 | ... |
我已经尝试过这段代码,但它重复了记录!我怎样才能避免它?
SELECT M."Entity",M."Tag",M."Report_Period",M."Users Count",
M."Report_Period_M-1",M1."Users Count" AS "Users Count M1",
FROM "DB"."SCHEMA"."PERIOD" M, "DB"."SCHEMA"."PERIOD" M1
WHERE M."Report_Period_M-1"= M1."Report_Period"
感谢您的时间。
问候。
解决方案
您的联接子句应包括实体列和标签(我怀疑)
SELECT M."Entity",
M."Tag",
M."Report_Period",
M."Users Count",
M."Report_Period_M-1",
M1."Users Count" AS "Users Count M1",
FROM "DB"."SCHEMA"."PERIOD" M,
"DB"."SCHEMA"."PERIOD" M1
WHERE M."Report_Period_M-1"= M1."Report_Period"
AND M."Entity" = M1."Entity"
AND M."Tag" = M1."Tag"
推荐阅读
- solr - 如何配置 solr 来索引和搜索图像/音频/视频文件及其内容?
- php - 如何在 Laravel 中检索当前日期的数据
- python - _id字段的Mongodb排序描述非常慢
- oauth - Google + API 已弃用
- sql - 使用 MS SQL Server 根据项目顺序和父类别顺序对项目进行排序
- python - 在 sklearn 中使用经过训练的分类器进行迭代预测
- shell - 在 spool 中打印输出,并在不同的变量中使用相同的输出
- excel - 根据主题行从电子邮件更新 Excel
- django - 姜戈;2 个模型/类/表传入一个模板
- python - 工作室代码中的 Python 代码完成就像 xcode 中的 swift 一样?