SQL将一个表连接到第二个表中包含每组最大值的行的选择

PJW

我有一个带有以下信息的案例表-

ID 案例名称 日期 占用
11 约翰 2020-01-01 木匠
12 标记 2019-10-10 机械

并提供以下财务信息表-

ID 案例ID 日期
1个 11 2020-01-01 1,000
2 11 2020-02-03 2,000
3 12 2019-10-10 3,000
4 12 2019-12-25 4,000

我需要制作的是一系列案件,包括最新财务价值的详细信息,例如-

ID 案例名称 占用 最高价值
11 约翰 木匠 2,000
12 标记 机械 4,000

现在,我可以轻松地加入我的餐桌了-

SELECT *
FROM Cases AS c
LEFT JOIN Financial AS f ON f.CaseID = c.ID

我可以从财务表中找到每个案例的最新日期,其中包括-

SELECT CaseID, MAX(Date) AS LastDate
FROM Financial 
GROUP BY CaseID

但是我正在努力寻找一种方法,将以上两者合在一起以产生所需的结果,如上表所示。

戈登·利诺夫

一个简单的方法是窗口函数:

SELECT *
FROM Cases c LEFT JOIN
     (SELECT f.*, MAX(date) OVER (PARTITION BY CaseId) as max_date
      FROM Financial f
     ) f
     ON f.CaseID = c.ID AND f.max_date = f.date;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将一个mysql表中的一行连接到第二个表中的多行

来自分类Dev

内部联接两个表,并为第二个表的第一个表中的每个条目返回最大值

来自分类Dev

SQL根据第二个表中的值列表从第一个表中选择

来自分类Dev

左连接表的最大值和第二个表中的其他列

来自分类Dev

SQL 连接,其中第二个表中的值是第一个表中的第一个较低值

来自分类Dev

SQL Server:每组第二个最大值

来自分类Dev

使用mysql查询在表中查找第二个最大值

来自分类Dev

使用mysql查询在表中查找第二个最大值

来自分类Dev

连接一个表的SQL查询,其中第二个表重复

来自分类Dev

连接一个表(其中第二个表重复)的SQL查询

来自分类Dev

连接两个表,将值插入到第二个表中

来自分类Dev

KDB选择一个表中在第二个表中具有匹配键的行

来自分类Dev

Mysql - sql 如何从包含第一个表 ID 的第二个表中获取最小时间和最大时间记录

来自分类Dev

如何从行中选择最大值并连接到另一个表

来自分类Dev

在表单中,选择第二个表和第一个表

来自分类Dev

根据第二个表的另一个值(sql)在第一个表中选择一个值

来自分类Dev

MySQL从一个表中减去第二个表中的某些行的值

来自分类Dev

MySQL从一个表中减去第二个表中的某些行的值

来自分类Dev

SQL查询检查第一个表中的列或查找第二个表中的行

来自分类Dev

SQL Oracle-使用存储在第二个表中的值(行)的列名对第一个表中的列中的值求和

来自分类Dev

SQL Oracle-使用存储在第二个表中的值(行)的列名对第一个表中的列中的值求和

来自分类Dev

SQL 在一个表中查找结果基于第二个表

来自分类Dev

MySQL左联接:从一个表中选择所有内容,但仅将第二个表中的值与条件匹配

来自分类Dev

MySQL左联接:从一个表中选择所有内容,但仅将第二个表中的值与条件匹配

来自分类Dev

当第二个表中的布尔值为TRUE时,用第一个表覆盖第二个表的结果

来自分类Dev

MySQL如何从两个表中选择数据,以便第二个表中的行覆盖第一个表中的行?

来自分类Dev

将第二个CATEGORY表中的第一个表相加

来自分类Dev

sql获取第一个和第二个最大值的条件

来自分类Dev

如何使用第二个 sql 的名称从第一个表中删除值

Related 相关文章

  1. 1

    将一个mysql表中的一行连接到第二个表中的多行

  2. 2

    内部联接两个表,并为第二个表的第一个表中的每个条目返回最大值

  3. 3

    SQL根据第二个表中的值列表从第一个表中选择

  4. 4

    左连接表的最大值和第二个表中的其他列

  5. 5

    SQL 连接,其中第二个表中的值是第一个表中的第一个较低值

  6. 6

    SQL Server:每组第二个最大值

  7. 7

    使用mysql查询在表中查找第二个最大值

  8. 8

    使用mysql查询在表中查找第二个最大值

  9. 9

    连接一个表的SQL查询,其中第二个表重复

  10. 10

    连接一个表(其中第二个表重复)的SQL查询

  11. 11

    连接两个表,将值插入到第二个表中

  12. 12

    KDB选择一个表中在第二个表中具有匹配键的行

  13. 13

    Mysql - sql 如何从包含第一个表 ID 的第二个表中获取最小时间和最大时间记录

  14. 14

    如何从行中选择最大值并连接到另一个表

  15. 15

    在表单中,选择第二个表和第一个表

  16. 16

    根据第二个表的另一个值(sql)在第一个表中选择一个值

  17. 17

    MySQL从一个表中减去第二个表中的某些行的值

  18. 18

    MySQL从一个表中减去第二个表中的某些行的值

  19. 19

    SQL查询检查第一个表中的列或查找第二个表中的行

  20. 20

    SQL Oracle-使用存储在第二个表中的值(行)的列名对第一个表中的列中的值求和

  21. 21

    SQL Oracle-使用存储在第二个表中的值(行)的列名对第一个表中的列中的值求和

  22. 22

    SQL 在一个表中查找结果基于第二个表

  23. 23

    MySQL左联接:从一个表中选择所有内容,但仅将第二个表中的值与条件匹配

  24. 24

    MySQL左联接:从一个表中选择所有内容,但仅将第二个表中的值与条件匹配

  25. 25

    当第二个表中的布尔值为TRUE时,用第一个表覆盖第二个表的结果

  26. 26

    MySQL如何从两个表中选择数据,以便第二个表中的行覆盖第一个表中的行?

  27. 27

    将第二个CATEGORY表中的第一个表相加

  28. 28

    sql获取第一个和第二个最大值的条件

  29. 29

    如何使用第二个 sql 的名称从第一个表中删除值

热门标签

归档