Sno*_*ard 4 sql oracle oracle10g sql-update tablecolumn
我有2张桌子'A'和'B'.两者都有一个共同的列'name',并通过列'id'相互链接.表A中的列'name'是空的,而它有表B中的数据.我的任务是将表B中该列中的所有数据填充到具有相应ID的表A.
我正在使用以下查询:
UPDATE A
SET A.name = (SELECT B.name from B WHERE A.id = B.id)
WHERE EXISTS
(SELECT B.name from B)
Run Code Online (Sandbox Code Playgroud)
一旦我在SQL开发人员中运行查询,它就会冻结,我必须强行关闭它.谁能告诉我查询有什么问题?
试试这个:
UPDATE A
SET A.name = (SELECT B.name FROM B WHERE B.id = A.id AND B.name IS NOT NULL)
WHERE a.name IS NULL;
Run Code Online (Sandbox Code Playgroud)
由于您使用的是Oracle,因此这里是IS NOT NULL的引用.
这是SQL小提琴,所以你可以玩它:http://sqlfiddle.com/#!4/a5ad0/3
| 归档时间: |
|
| 查看次数: |
9959 次 |
| 最近记录: |