gpt4 book ai didi

SQL 自联接查询帮助

转载 作者:行者123 更新时间:2023-12-04 06:55:10 25 4
gpt4 key购买 nike

我正在尝试制定一个查询,该查询使用 eventnumber 将自身连接到一个表上。我以前从未做过自联接。

我想查询的是客户何时开始在切斯特的城市开始,看看他们搬到了哪个城市。但我不想看到他们是否从另一个城市开始。我也希望只看到一次搬家(所以我只想看看他们是否从切斯特到伦敦,而不是切斯特到伦敦到威尔士)

如果他们搬到另一个城市,StartTimeDate 与 EndDateTime 相同。

如果他们从城市切斯特开始,则数据示例如下:-

clientid EventNumber City StartDateTime EndDateTime
1 1 Chester 10/03/2009 11/04/2010 13:00
1 1 Liverpool 11/04/2010 13:00 30/06/2010 16:00
1 1 Wales 30/07/2010 16:00

我想看到的结果是在第二排 - 所以它只显示我的利物浦。

有人能指出正确的方向吗?

最佳答案

您可以使用别名,它允许您使用同一个表的两个实例(用您的表名替换 MyTable):

SELECT A.clientid, A.EventNumber, B.City AS CityTo, A.EndDateTime AS MoveDateTime
FROM MyTable A INNER JOIN MyTable B
ON A.clientid = B.clientid
AND A.EventNumber = B.EventNumber
AND A.EndDateTime = B.StartDateTime
WHERE A.City = 'Chester'

关于SQL 自联接查询帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2658001/

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