使用like连接两个表来更新第三个表中的结果

时间:2015-11-25 03:55:36

标签: sql oracle join

我正在尝试连接两个表并更新第三个表中的结果。 因此表格A 是结果表格,其中包含客户编号和分数列。

表B有客户编号和ind_code 表C有ind_code和ind_score。

因此,查询的输出应该使得表B和C中的 ind_code应该基于前两位数连接在一起,而ind_score应该在分数列的表A中更新。 < strong>表A和表B应根据客户编号加入。

有人可以帮忙吗?我尝试了多个查询,但似乎没有任何效果。我正在使用 oracle sql developer enter image description here

1 个答案:

答案 0 :(得分:0)

通常情况下,JOIN操作不能删除字段信息,但如果您的结构(对我来说不正确)是......

如果我理解得更好:

UPDATE TableA
SET score =
(SELECT MAX(C.ind_score)
FROM TableC C
JOIN TableB B
    ON C.ind_code = SUBSTRING(B.ind_code, 1, 2)
WHERE B.customernumber = TableA.customernumber)

我在子查询MAX聚合函数上使用,因为我不知道你对TableB的ind_code的切割是不是唯一的(即你有ind_code 5555和5554)

相关问题