gpt4 book ai didi

sql - 一个表中的每一行的 PostgreSQL 连接另一个表中的所有行

转载 作者:行者123 更新时间:2023-11-29 13:01:36 24 4
gpt4 key购买 nike

表中A我有来自 2014-01-01 的日期至 2014-12-31

 action_date
2014-01-01
2014-01-02
2014-01-03
...
2014-12-31

表中B我有一些信息,比如

id name action_date deletion_date
1 nik 2013-01-01 2014-02-03
2 tom 2014-06-02 2014-06-30
3 lola 2013-12-30 2014-01-01

我想将 B 表中的行连接到每个 A表行如果 activation_date<=action_date<=deletion_date

例如

 action_date id name action_date deletion_date
2014-01-01 1 nik 2013-01-01 2014-02-03
2014-01-01 3 lola 2013-12-30 2014-01-01
2014-01-02 1 nik 2013-01-01 2014-02-03
2014-01-03 1 nik 2013-01-01 2014-02-03
[...]
2014-02-03 1 nik 2013-01-01 2014-02-03

2014-06-02 2 tom 2014-06-02 2014-06-30
2014-06-03 2 tom 2014-06-02 2014-06-30
[...]
2014-06-03 2 tom 2014-06-02 2014-06-30

我尝试在没有 on 语句的情况下使用左连接,仅在 where 条件下使用。不幸的是,它不起作用。

最佳答案

您可以在 join 条件中使用 between 运算符:

SELECT a.action_date, b.*
FROM b
JOIN a ON a.action_date BETWEEN b.activation_date AND b.deletion_date

关于sql - 一个表中的每一行的 PostgreSQL 连接另一个表中的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28601422/

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