如何使用 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
它可能会工作......