需要一行SQL语句将数据从一个表复制到另一个表
现在源表(T1)的数据和结构如下所示:需要一行SQL语句将数据从一个表复制到另一个表,sql,oracle,Sql,Oracle,现在源表(T1)的数据和结构如下所示: NAME RECORD_NUMBER APPROVERS AREA MS COORDINATOR 1123 1 EMEA_ARMSTROA c MS COORDINATOR 1123 3
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项任务需要相当错误。