超简单的问题我问一下。
update table1 set col = (select ....返回多个值)
提示单行字返回多行
我怎么改啊?UPDATE table3 SET sdryzs = (SELECT COUNT(t2.mc) FROM table1 t1,table2 t2
                WHERE t1.sjjzd = t2.dm AND t2.MC IN (SELECT mc FROM table3)
                GROUP BY t2.MC)
                      where table3.mc=t2.mc我想改成只要符合table3.mc=t2.mc 的sdryzs

解决方案 »

  1.   

    把WHERE 条件写到括号里面
    如果这样还提示返回多行,只能说数据有问题了。
    UPDATE table3
       SET sdryzs = (select v.ct
                       from (SELECT COUNT(t2.mc) ct, t2.mc
                               FROM table1 t1, table2 t2
                              WHERE t1.sjjzd = t2.dm
                                AND t2.MC IN (SELECT mc FROM table3)
                              GROUP BY t2.MC) v
                      where table3.mc = v.mc)