带有Select的SQL插入表

时间:2013-06-02 18:22:09

标签: sql database oracle

如何使用select语句插入表中。 first_name,last_name和id_no来自staff表,但我想将值1插入到department表中,但它不是来自staff表。

INSERT INTO department ('1',  id_no, first_name, last_name)
SELECT FROM staff
WHERE id_no = 1;

我在oracle中使用SQL开发人员

5 个答案:

答案 0 :(得分:3)

如果“部门”按顺序排列了这四列,那么你就非常接近了。

INSERT INTO department (foo,  id_no, first_name, last_name)
SELECT 1, staff_id, staff_first_name, staff_last_name
FROM staff
WHERE id_no = 1;

(显然在SELECT中更改了列名称) 当然,假设id_no是唯一的,这将只插入一行。

答案 1 :(得分:1)

INSERT INTO department(OTHER_COLUMN,id_no, first_name, last_name) 
SELECT '1',  id_no, first_name, last_name FROM staff WHERE id_no = 1

将OTHER_COLUMN替换为列的名称

答案 2 :(得分:1)

那是无效的SQL。假设staffdepartment具有相同的字段名称

INSERT INTO department(id_no, first_name, last_name)
SELECT id_no, first_name, last_name
FROM staff
WHERE id_no = 1;

答案 3 :(得分:0)

来自INSERT INTO的{​​{1}}表格值,您需要编写如下内容:

SELECT

INSERT INTO department (dep_field1, dep_field2, dep_field3) SELECT '1', staff_field1, staff_field2 FROM staff WHERE condition; 部分中,您需要插入department (...)表中的名称字段。

department中,您需要为SELECT表中的字段命名,您要从中进行选择。

答案 4 :(得分:0)

我认为你会在这里找到问题的答案:INSERT Statement

如果您添加到帖子中的SQL是您尝试过的 - 它不起作用,因为它显示FROMM - 双M.将其更改为FROM并且它可能有用...