gpt4 book ai didi

sql - 将一列与两个表连接起来

转载 作者:行者123 更新时间:2023-12-04 20:50:59 24 4
gpt4 key购买 nike

是否可以通过连接另一个表中的列数据来更新一个表列数据?让我用简单的例子来解释,

表 A:学生访问

╔════════╦══════════╗
║ UserID ║ AccCode ║
╠════════╬══════════╣
║ 12 ║ Tom ║
║ 13 ║ Ann ║
╚════════╩══════════╝

表 B:学生详细信息
╔════════╦═══════════════════╗
║ ID ║ UserName ║
╠════════╬═══════════════════╣
║ 1 ║ raj_12_kumar ║
║ 2 ║ test_13_test ║
╚════════╩═══════════════════╝

现在我想拆分 UserName列数据并从中获取第二个标记并查询 studentaccess表通过匹配 UserID并获得 AccCode值并将其与 UserName 的第二个标记连接起来列数据。最后我需要 studentdetails表格数据如下所示,
╔════════╦═══════════════════╗
║ ID ║ UserName ║
╠════════╬═══════════════════╣
║ 1 ║ 12_Tom ║
║ 2 ║ 13_Ann ║
╚════════╩═══════════════════╝

从下面的 substr 查询中,我可以得到 UserId来自 UserName 的值 studentdetails中的列 table ,
select regexp_substr(UserName, '([^_]+)(_[^_]+){1}$', 1, 1, null, 1) as userId  from studentdetails

任何人都可以帮助我将相同的内容与 Acccode 连接起来并在 UserName 中更新相同内容柱子?

最佳答案

UPDATE StudentDetails sd
SET UserName =
(
SELECT userid||'_'||AccCode
FROM StudentAccess sa
WHERE regexp_substr(sd.UserName, '([^_]+)(_[^_]+){1}$', 1, 1, null, 1) = sa.userid
);

关于sql - 将一列与两个表连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43014714/

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