帮我看下这段SQL语句错在哪了!

2024-12-16 05:22:45
推荐回答(5个)
回答1:

您好,你的语句是没有错了,是可以执行的.
你的语句的意思是:从bHYK1表更新到bHYK表.更新字段为JL,条件字段为JL;
因为JL字段被作为条件了,所以只有当bHYK.JL=bHYK1.JL的时候,才会更新bHYK.JL=bHYK1.JL这个动作,当相等的时候,就算是更新了,也不会有变化,当不相等的时候,又不会更新到.
所以你的语句是可以执行的,但是执行后是不会有任何变化的.

回答2:

update bHYK set bHYK.JL = bHYK1.JL from bHYK join bHYK1 on
bHYK1.JL=bHYK.JL
你的
bHYK /bHYK1 关联字段是JL,更新字段也是JL,
系统匹配时,仅匹配到了JL一致的记录,更新过去后,没有变化,JL不一致的就没法匹配更新。
你需要思考一下,如果不一致需要用什么条件关联两表

回答3:

哥,你没发现原句的join和set用到的是两个不同的字段id和field1吗?

你这里两个地方都用JL,当然没变化了。

回答4:

你错在了on的连接条件:bHYK1.JL=bHYK.JL。
你的连接条件式 表1的JL = 表2的JL,再把 表1的JL 更新为 表2的JL。
表1的JL=表2的JL,自然在结果上是没有变化的。

回答5:

还是原样是什么意思,bHYK1是空表吗