执行与Excel VLookup类似功能的SQL代码

问题描述 投票:0回答:1

我想知道是否有人可以帮我解决以下 SQL 代码。

我有一张桌子,上面有员工名单及其所有详细信息。我有一个包含以下各列的示例表

名字 姓氏 posn_ref line_mamanger line_mamanger_posn_ref
啊啊 bb 123 ccc ddd
ccc dd 456 eeecvb
xxx yyy 789 zzhh
zz 呵呵 890 ggg SAS
gg SAS 322 hnj mnb
哎呀 cvb 334 klj vvc

我的表称为员工。

我想要实现的是查看员工的 line_manger(第 1 列和第 2 列)并返回直线经理的 posn_ref 编号并将其添加到最后一列(line_mamanger_posn_ref)。因此,在上面的示例中,员工 aaa 的直线经理是“ccc ddd”,而 ccc ddd 的 posn_ref 是 456,因此在员工 aaa 的 line_mamanger_posn_ref 中,它将插入 456 等等。

我希望这一点很清楚,我只有一张表,但我需要为每个员工添加与经理的参考号相对应的 line_mamanger_posn_ref 值。我正在使用 Google Bigquer SQL(标准 SQL)

如有任何帮助,我们将不胜感激

sql t-sql google-bigquery
1个回答
0
投票

只需对其自身进行连接就足够了(这是针对 tsql 而不是 psql,尽管实现应该类似):

UPDATE e
SET line_manager_posn_ref = manager.posn_ref
FROM employee AS e
JOIN employee AS manager
    ON e.line_manager = manager.forename + ' ' + manager.surname
© www.soinside.com 2019 - 2024. All rights reserved.