gpt4 book ai didi

mysql - 有没有办法将变量条件放入 SQL 的连接中?

转载 作者:行者123 更新时间:2023-11-29 05:09:07 25 4
gpt4 key购买 nike

我的问题是:我需要将两个表连接在一起,将所有数据保留在一个表中。这将是一对多的比赛。我需要在一对多匹配中设置条件。示例:

TableA                           TableB
Name Date Cat Name Date
AAA 1/1/17 Z11 AAA 1/2/17
AAA 1/4/17 Y22 AAA 1/6/17
AAA 1/7/17 X33 BBB 1/2/17
BBB 1/1/17 A44
BBB 1/3/17 B55

我需要将 TableA 连接到 TableB,保留 TableB 中的所有记录,连接到 Name 列。我希望在 TableA 中加入的“本地记录”是最小的日期,但仍然大于 TableB 中的日期。所以期望的结果是:

Results
TableB.Name TableB.Date TableA.Cat
AAA 1/2/17 Y22
AAA 1/6/17 X33
BBB 1/2/17 B55

我知道我想要对这两个名称进行外部连接,但不知道如何在“本地标准”中工作,因为缺少更好的表达方式。这可能吗?如何实现?

最佳答案

我会从 tableA 中为您想要的内容创建一个子查询并加入其中。

子查询排除小于 b.dates 的 a.dates。对于剩下的,捕获最少的。

将所有这些加入到表B中

SELECT  b.name ,
b.date ,
a.cat
FROM tableb b
JOIN ( SELECT a1.name ,
MIN(a1.date) AS date
FROM tableA a1
JOIN tableb b1 ON a1.name = b1.name
AND a1.date > b1.date
) a ON a.date > b.date
AND a.name = b.name;

关于mysql - 有没有办法将变量条件放入 SQL 的连接中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42659110/

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