我正在尝试连接两个表并更新第三个表中的结果。 因此表格A 是结果表格,其中包含客户编号和分数列。
表B有客户编号和ind_code ,表C有ind_code和ind_score。
因此,查询的输出应该使得表B和C中的 ind_code应该基于前两位数连接在一起,而ind_score应该在分数列的表A中更新。 < strong>表A和表B应根据客户编号加入。
答案 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)