是否可以通过连接另一个表中的列数据来更新一个表列数据?让我用简单的例子来解释,
表 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/