如何使用 select 语句插入表中。first_name、last_name 和 id_no 来自员工表,但我也想将值 1 插入到部门表中,但它不是来自员工表。
INSERT INTO department ('1', id_no, first_name, last_name)
SELECT FROM staff
WHERE id_no = 1;
我在 oracle 中使用 SQL 开发人员
如果“部门”按此顺序有这四列,那么您就非常接近了。
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是唯一的。
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 替换为列的名称
那是无效的 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;
要从您的INSERT INTO表格中获取值,SELECT您需要编写如下内容:
INSERT INTO department (dep_field1, dep_field2, dep_field3)
SELECT '1', staff_field1, staff_field2
FROM staff
WHERE condition;
在department (...)某种程度上,您需要表中的名称字段department,您想要插入其中。
在SELECT您需要从staff表中命名字段时,您要从中进行选择。
我想你会在这里找到问题的答案:INSERT Statement
如果您添加到帖子中的 SQL 是您尝试过的 - 它不起作用,因为它说FROMM- 双 M。将其更改为FROM它可能会工作......