Sql 更新员工脚本
我有一个提供者表,其中包含我们的员工信息。它是这样设置的Sql 更新员工脚本,sql,oracle,Sql,Oracle,我有一个提供者表,其中包含我们的员工信息。它是这样设置的 UPDATE e SET e.Location_ID = ln.Location_ID ,e.Residents = lc.CustomData FROM Employee e INNER JOIN Location_Notes_Data AS ln ON ln.Note_Author = e.PID INNER JOIN Location_Notes_Custom_Data
UPDATE e
SET e.Location_ID = ln.Location_ID
,e.Residents = lc.CustomData
FROM Employee e
INNER JOIN Location_Notes_Data AS ln ON ln.Note_Author = e.PID
INNER JOIN Location_Notes_Custom_Data lc ON ln.Noteid = lc.Noteid
提供者数据
- PID
- 利润
- 普罗米
- 序言
CASE
语句并手动输入它们的原因
注释作者=PID。我遇到的问题是,当新员工加入或离开时,我的脚本不会反映这一点,除非我手动进入并添加/删除它们。我猜您只需要加入
。你的问题没有太多细节,但类似这样:
select n.*, pd.*
from notes n left join
provider_data pd
on n.note_author = pd.pid
可以从联接的表更新表。我想你是想在员工进出公司时更新他们的记录?我不完全确定,但是如果表之间存在映射,您可以这样编写update语句
UPDATE e
SET e.Location_ID = ln.Location_ID
,e.Residents = lc.CustomData
FROM Employee e
INNER JOIN Location_Notes_Data AS ln ON ln.Note_Author = e.PID
INNER JOIN Location_Notes_Custom_Data lc ON ln.Noteid = lc.Noteid
这可能是因为你把值硬编码到了这个例子中。如果是,你能做什么?我不知道,要处理的数据太少了。也许将它连接到其他表可以修复它,但我不确定,因为我没有足够的信息。我添加了更多的代码。我也可以加入Provider_数据表,但这不只是列出所有PID吗?我怎么能不用一个箱子就把它们连在一起呢?我在原来的帖子中增加了一些细节。那么你是说我可以加入第三个表,并让该表填充位置Id和注释作者?我不是想更新员工记录。我正在尝试使用字段注释作者(员工姓名)运行报告,但我希望在员工来来去去时更新报告。如果我用case
语句硬编码,那么如果我们有了一个新员工,我就必须返回并手动添加那个人。