oracle从表B更新拼接字段到表A
oracle中表A怎么从表B中追加相对应的编码到表A字段里,
在Oracle数据库中,如果你想从表B中获取数据并更新到表A的某个字段里,可以使用UPDATE语句结合子查询来实现。假设表A有一个字段叫做code,你希望根据某个键(比如id)从表B中获取对应的编码值,并更新到表A的code字段中。下面是一个基本的例子:
首先,确保两个表之间有能够关联起来的键值。例如,表A和表B都有一个共同的列id。
UPDATE hyypml a
SET a.lbm = (SELECT LISTAGG(b.lbm, ',') WITHIN GROUP (ORDER BY b.lbm) AS codes_listFROM msfx bWHERE a.pzwh = b.pzwh )
WHERE EXISTS (SELECT 1FROM msfx bWHERE a.pzwh = b.pzwh);
``去重更新oracle中表A怎么从表B中追加相对应的编码到表A字段里。
MERGE INTO hyypml a
USING (SELECT pzwh, LISTAGG(zlbm, ',') WITHIN GROUP (ORDER BY zlbm) AS codesFROM (SELECT DISTINCT pzwh, zlbmFROM msfx)GROUP BY pzwh
) b
ON (a.PZWH = b.pzwh)
WHEN MATCHED THEN
UPDATE SET a.zlbm = b.codes;
不拼接,从表B更新表A更新字段
UPDATE hyypml a
SET a.zlbm = (SELECT b.zlbm FROM msfx b WHERE a.pzwh = b.pzwh and rownum=1)
WHERE EXISTS (SELECT 1 FROM msfx b WHERE a.pzwh = b.pzwh);