加入并插入到同一个表中

时间:2013-03-07 16:19:56

标签: sql-server-2008 tsql

我有一个在SQL Server 2000中运行的查询。

INSERT INTO #Student
   select a,b,c
   from ID i
   inner join #student t on i.ID = t.ID

但是在SQL Server 2008中它没有运行..任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果您需要解决方案,您真的需要提供比您提供的更多信息。可能包括SQL语句中表的一些示例数据和/或预期的一些示例输出。

以下是如何使上述SQL语句正常工作的一个示例。我可以很容易地提出十几个例子来使它工作,但是如果没有关于你的问题的其他信息,我们永远不会知道它是否适合你。

CREATE TABLE ID (ID int, a char(1), b char(2), c char(3))
INSERT ID SELECT 1, 'a', 'b', 'c'
INSERT ID SELECT 2, 'a', 'b', 'c'

CREATE TABLE #Student (ID int IDENTITY(1,1), a1 char(1), b1 char(2), c1 char(3))
INSERT #Student SELECT 'a', 'b', 'c'
INSERT #Student SELECT 'a', 'b', 'c'

INSERT INTO #Student
SELECT a, b, c
  FROM ID i
  JOIN #student t 
    ON i.ID = t.ID

SELECT *
  FROM #Student