子查询返回的值超过1。子查询遵循=,!=,<,< =,>,> =时不允许这样做

时间:2016-03-01 02:43:52

标签: subquery

我尝试从表B中的选择数据更新表A列。但是我按照上面所述点击错误消息“子查询返回的值超过1。当子查询跟随=时,不允许这样做,{ {1}},!=<<=>或子查询用作表达式时。“

请查看我的代码如下:

>=

请帮助,因为已经坚持了好几个小时了。

1 个答案:

答案 0 :(得分:0)

如果您只运行子查询SELECT a.CVT_FACTOR FROM TABLE_A a JOIN TABLE_B b ON a.PROD_CODE = b.PROD_CODE,您会发现它返回多行。使用它来更新值时不允许这样做。

您可能想要做的是:

UPDATE TABLE_A SET CVT_FACTOR = (
    SELECT TABLE_B.CVT_FACTOR FROM TABLE_B
    WHERE TABLE_B.PROD_CODE = TABLE_A.PROD_CODE
)