UPDATE T_CGHTGZCX137 SET F_RKDDHSL = (SELECT SUM(KCRKD2_SSSL) FROM HMHTGY,KCRKD2,BFGBD,BFGBGL WHERE BFGBD_LSBH =
KCRKD2_GBDLS AND HMHTGY_LSBH = BFGBGL_LYLS AND BFGBGL_LSBH = BFGBD_LSBH GROUP BY HMHTGY_LSBH) WHERE F_HTBH IN (SELECT HMHTGY_HTBH FROM HMHTGY,KCRKD2,BFGBD,BFGBGL WHERE BFGBD_LSBH = KCRKD2_GBDLS AND HMHTGY_LSBH = BFGBGL_LYLS AND BFGBGL_LSBH = BFGBD_LSBH)
由于子查询返回了两行 所以不能UPDATE了 想问一下除了写存储过程 使用游标以外有没有别的方法解决?
KCRKD2_GBDLS AND HMHTGY_LSBH = BFGBGL_LYLS AND BFGBGL_LSBH = BFGBD_LSBH GROUP BY HMHTGY_LSBH) WHERE F_HTBH IN (SELECT HMHTGY_HTBH FROM HMHTGY,KCRKD2,BFGBD,BFGBGL WHERE BFGBD_LSBH = KCRKD2_GBDLS AND HMHTGY_LSBH = BFGBGL_LYLS AND BFGBGL_LSBH = BFGBD_LSBH)
由于子查询返回了两行 所以不能UPDATE了 想问一下除了写存储过程 使用游标以外有没有别的方法解决?
SET F_RKDDHSL = (SELECT SUM(KCRKD2_SSSL)
FROM HMHTGY, KCRKD2, BFGBD, BFGBGL
WHERE BFGBD_LSBH = KCRKD2_GBDLS
AND HMHTGY_LSBH = BFGBGL_LYLS
AND BFGBGL_LSBH = BFGBD_LSBH
GROUP BY HMHTGY_LSBH)
WHERE F_HTBH IN (SELECT HMHTGY_HTBH
FROM HMHTGY, KCRKD2, BFGBD, BFGBGL
WHERE BFGBD_LSBH = KCRKD2_GBDLS
AND HMHTGY_LSBH = BFGBGL_LYLS
AND BFGBGL_LSBH = BFGBD_LSBH)
这样看着舒服点。
你想用一句sql解决吗?
太菜,不知道。反正就2行你选查出来,在一行一行更新。等大侠