0

如何使用 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 开发人员

4

5 回答 5

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是唯一的。

于 2013-06-02T18:31:29.857 回答
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 替换为列的名称

于 2013-06-02T18:28:32.387 回答
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;
于 2013-06-02T18:29:52.817 回答
0

要从您的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表中命名字段时,您要从中进行选择。

于 2013-06-02T18:29:22.070 回答
0

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

如果您添加到帖子中的 SQL 是您尝试过的 - 它不起作用,因为它说FROMM- 双 M。将其更改为FROM它可能会工作......

于 2013-06-02T18:30:42.633 回答