SQL查询INSERT INTO SELECT

时间:2013-12-05 06:28:38

标签: sql sql-server sql-server-2008

我有一个关于将值从一个表传输到另一个表的问题。

以下是我的表格和列:

表: a_logs

a_log_id - status - status_date - description

1 - null - null - hello world

表: a_logs_history

a_hist_id - a_log_id - status - status_date - description

1 - 1 - 5 - 2013-10-19 - hello world
2 - 1 - 7 - 2013-10-25 - hello world

我想插入最近的状态w / c是7,最近的status_date w / c是从a_logs_history表到a_logs表的2013-10-25值。

我尝试使用INSERT INTO SELECT但我收到了错误。

请帮帮我?感谢。

2 个答案:

答案 0 :(得分:1)

试试这个

INSERT INTO a_logs VALUES (1,(SELECT status,status_date FROM a_logs_history WHERE  recent status = 7 ,  status_date = '2013-10-25'),'XXX')

在上面的示例中,我将状态日期表示为字符串,它可能会在您声明时更改..

希望它有所帮助!!

答案 1 :(得分:0)

试试这个:

我们只能将我们想要的列复制到另一个现有表中:

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;