如何使用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开发人员
答案 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。假设staff
与department
具有相同的字段名称
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
并且它可能有用...