在两个表之间交换两个列的值 [英] Swap two columns values between two tables

查看:88
本文介绍了在两个表之间交换两个列的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个表NAVEEN_T1和NAVEEN_T2,它们具有Id和Name之类的列.

I have two tables NAVEEN_T1 and NAVEEN_T2 having columns like Id and Name.

如何基于ID交换两个表的名称列值?

How to swap name column values of both the tables on the basis of Id?

 

SQL> SELECT * FROM NAVEEN_T1;

ID         NAME
---------- ----------
1          GOLDI
2          NAVEEN
3          AMIT

SQL> SELECT * FROM NAVEEN_T2;

ID         NAME
---------- ----------
1          RANJAN
2          SOM
3          ABHAY

我想要类似的输出



SQL> SELECT * FROM NAVEEN_T1;

ID         NAME
---------- ----------
1          RANJAN
2          SOM
3          ABHAY

SELECT * FROM NAVEEN_T2;

ID         NAME
---------- ----------
1          GOLDI
2          NAVEEN
3          AMIT

谢谢.

推荐答案

现在,这可能被简化了,但是,嘿-这就是您的示例数据所建议的.这个想法是:交换表名,而不是数据.看看:

Now, this might be oversimplified, but hey - that's what your sample data suggest. The idea is: exchange table names, not data. Have a look:

SQL> create table naveen_t1 (id number, name varchar2(20));

Table created.

SQL> create table naveen_t2 (id number, name varchar2(20));

Table created.

SQL> insert all
  2    into naveen_t1 values (1, 'GOLDI')
  3    into naveen_t1 values (2, 'NAVEEN')
  4    into naveen_t1 values (3, 'AMIT')
  5    --
  6    into naveen_t2 values (1, 'RANJAN')
  7    into naveen_t2 values (2, 'SOM')
  8    into naveen_t2 values (3, 'ABHAY')
  9  select * from dual;

6 rows created.

SQL> select * From naveen_t1;

        ID NAME
---------- --------------------
         1 GOLDI
         2 NAVEEN
         3 AMIT

SQL> select * From naveen_t2;

        ID NAME
---------- --------------------
         1 RANJAN
         2 SOM
         3 ABHAY

这是技巧 :

SQL> rename naveen_t2 to temp;

Table renamed.

SQL> rename naveen_t1 to naveen_t2;

Table renamed.

SQL> rename temp to naveen_t1;

Table renamed.

SQL> select * from naveen_t1;

        ID NAME
---------- --------------------
         1 RANJAN
         2 SOM
         3 ABHAY

SQL> select * From naveen_t2;

        ID NAME
---------- --------------------
         1 GOLDI
         2 NAVEEN
         3 AMIT

SQL>

这篇关于在两个表之间交换两个列的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆