标题:oracle关联多张表用一张表的一个字段更新另一张表的一个字段
只看楼主
风飘无殇
Rank: 2
等 级:论坛游民
威 望:3
帖 子:24
专家分:23
注 册:2018-7-29
结帖率:100%
 问题点数:0 回复次数:3 
oracle关联多张表用一张表的一个字段更新另一张表的一个字段
程序代码:
UPDATE Files x 
SET ( x.Filename ) = nvl(
    (
        SELECT DISTINCT
            T7.lastfile 
            FROM--         Files T1,-- 附件文件名表
            Version T2,-- 版本表
            Version_File_Map T3,-- 版本文件名映射表
            Attachment T4,-- 附件表
            Item T5,-- 物料表
            Attachment_Map T6,-- 附件跟物料, 附件跟版本映射
            FILENAME_P T7 -- 物料,原名,新名,版本号
            
        WHERE
            x.Id = T3.File_Id 
            AND T2.Id = T3.Version_Id 
            AND T2.Attach_Id = T4.Id 
            AND T4.Id = T6.Attach_Id --         AND T2.Attach_Id = T6.Attach_Id
            
            AND T5.Id = T6.Parent_Id 
            AND T2.Attach_Id = T6.Attach_Id 
            AND x.File_Type = 'PDF' 
            AND T7.id = T5.Item_Number --             AND T5.ITEM_NUMBER = '110103000967'
            
            AND T7.firstfile = x.Filename --             AND T1.FILENAME = '110103000967_初始.PDF'
            
            AND T2.VERSION_NUM = T7.version --             AND T7.version = '1'
--         AND T1.id = x.id --         ) T WHERE lastfile = T.lastfile
            
        ),
        x.filename 
    )


运行
 ORA-01427: 单行子查询返回多个行

查询出来的是结果集,但是这就是我需要的啊,一张表的字段批量更新另一张表的一个字段,各位大神们,怎么搞啊
搜索更多相关主题的帖子: AND 附件 更新 字段 版本 
2021-10-22 09:32
风飘无殇
Rank: 2
等 级:论坛游民
威 望:3
帖 子:24
专家分:23
注 册:2018-7-29
得分:0 
没有大佬帮我看看吗
2021-10-22 11:04
风飘无殇
Rank: 2
等 级:论坛游民
威 望:3
帖 子:24
专家分:23
注 册:2018-7-29
得分:0 
还是自己写程序解决了
2021-10-27 09:01
雕龙
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2022-1-3
得分:0 
你用 merge into试试,
2022-01-03 11:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507253-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.314827 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved