如何从table1中选择前500行并将它们INSERT到table2?

pen*_*ake 4 sql t-sql insert

我有完全相同的2个表:t2和t1.

t2有1000行,t1完全为空.

如何从t2中选择前500行并将它们插入到t1?

gbn*_*gbn 12

我将使用"emptyTable"和"populatedTable",因为这些问题令人困惑

TOP没有ORDER BY的重要事项给出了500个任意行.表格从不存在隐含或自然的顺序

INSERT INTO emptyTable
SELECT TOP 500 * 
FROM populatedTable
ORDER BY What -- need this to define TOP 500
Run Code Online (Sandbox Code Playgroud)

这里缺少列列表通常被定义为不良做法,但仅适用于

  • 表格完全相同
  • emptyTable中没有IDENTITY列

编辑:

需要 ORDER BY 来保证行顺序.看到这些.它也符合ANSI标准


Tom*_*rdt 5

像这样的东西:

INSERT INTO t1
SELECT TOP 500 * FROM t2
Run Code Online (Sandbox Code Playgroud)

您选择前500,然后插入它们.

  • 实际上,@marc_s,他说t1是空的,所以我假设他希望他们去那里.还有:是的,我忘记了`*` (3认同)