Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要一行SQL语句将数据从一个表复制到另一个表_Sql_Oracle - Fatal编程技术网

需要一行SQL语句将数据从一个表复制到另一个表

需要一行SQL语句将数据从一个表复制到另一个表,sql,oracle,Sql,Oracle,现在源表(T1)的数据和结构如下所示: NAME RECORD_NUMBER APPROVERS AREA MS COORDINATOR 1123 1 EMEA_ARMSTROA c MS COORDINATOR 1123 3

现在源表(T1)的数据和结构如下所示:

NAME                    RECORD_NUMBER       APPROVERS                   AREA                        
MS COORDINATOR 1123     1                   EMEA_ARMSTROA               c                           
MS COORDINATOR 1123     3                   AMERICAS_SIMSS              c                           
MS COORDINATOR 1123     4                   ASIAPACIFIC_KUMSANGA        c                           
MS COORDINATOR 1123     5                   ASIAPACIFIC_MSAGE           c                           
MS COORDINATOR 1123     7                   ASIAPACIFIC_MSAGE           c   
然后我想将上面表格中的数据复制到一个新表格(T2)中,删除重复的行,删除记录号间隙,按字母顺序对审批人进行排序,并重置记录号的值,因此目标表格中的数据应如下所示:

NAME                    RECORD_NUMBER       APPROVERS                   AREA                        
MS COORDINATOR 1123     1                   AMERICAS_SIMSS              c                            
MS COORDINATOR 1123     2                   ASIAPACIFIC_KUMSANGA        c 
MS COORDINATOR 1123     3                   ASIAPACIFIC_MSAGE           c 
MS COORDINATOR 1123     4                   EMEA_ARMSTROA               c     
那么,有谁能给我一个单行sql解决方案吗? T2表的主键是(名称、记录编号、区域)

用于生成
记录编号

试试这个:

INSERT INTO t2
   SELECT name,
          ROWNUM AS record_number,
          approvers,
          area
     FROM ( SELECT DISTINCT name, approvers, area
               FROM t1
           ORDER BY approvers ) x

那一行能有多长?因为这4项任务需要相当错误。