请问我如何把表中所有记录,用一个列的值去更改另外一个列的值
请问我如何把表中所有记录,用一个列的值去更改另外一个列的值
CREATE TABLE TEST
(
ID NUMBER,
A1 VARCHAR2(10),
A2 VARCHAR2(10),
A3 VARCHAR2(10)
)
1.我想把TEST表中所有记录,把A2的值赋给A1(A1=A2),把A3的值赋给A2(A2=A3)
请问sql语句该怎么写,只用一个sql语句
下面是我写的sql 执行错误,不知道应该怎么写
update TESTTB tb1 set(tb1.a1 = tb2.a2,tb1.a2 = tb2.a3)
from
(select tb2.a2,tb2.a3 from TESTTB tb2 where tb1.ID = tb2.ID) B,
TESTTB tb3
where
B.ID = tb3.ID
2.如果我想把所有记录的A1和A2的值互换又该怎么实现呢
------解决方案--------------------update test set a1=a2,a2=a3;
------解决方案--------------------上边的是1
2
update test set a1=a2,a2=a1;
------解决方案--------------------update test t1 set (a1,a2)=(select a2,a3 from test t2 where t1.id=t2.id)
update test t1 set (a1,a2)=(select a2,a1 from test t2 where t1.id=t2.id)