gpt4 book ai didi

sql - 如何在记录中的子字符串上连接表?

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

我有一个将名称与帐户 ID 相关联的表,如下所示

**Accounts**
name
account_id

还有另一个类似的表将信息与帐户 uri 相关联

**Info**
information
account_uri

帐户 uri 如下所示:/some/random/path/123456/randomDigits

其中 123456 是与用户关联的 accound_id。

我怎样才能加入这些表,并得到类似的结果

**results**
name
information

这是一个 amazon redshift/postgresql 数据库。感谢您的任何建议!

最佳答案

如果您无法将 account_id 放入信息表中,这将起作用:

SELECT A.Name,
I.Information
FROM Information I
JOIN Account A
ON A.account_id = REVERSE(SUBSTRING(REVERSE([account_uri]),0,CHARINDEX('/',REVERSE(account_uri))))

REVERSE(...) 用于创建 LastIndexOf 函数。

可能只想做:

SELECT REVERSE(SUBSTRING(REVERSE([account_uri]),0,CHARINDEX('/',REVERSE(account_uri))))
FROM Information

查看 SUBSTRING/REVERSE 是否正在获取整个帐户 ID

这应该找到'/'之间的第二个字符串

SUBSTRING(REVERSE(SUBSTRING(REVERSE([account_uri]),CHARINDEX('/',REVERSE(account_uri)))),0,CHARINDEX('/',REVERSE(SUBSTRING(REVERSE([account_uri]),CHARINDEX('/',REVERSE(account_uri)))))

关于sql - 如何在记录中的子字符串上连接表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25270721/

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