我有2张桌子。
Attendance
表包含2列,Records
表包含1列
+----------------------+
| Attendance |
+----------------------+
| EmployeeID | Hours |
+----------------------+
+--------------+
| Records |
+--------------+
| EmployeeID |
+--------------+
| 1 |
| 2 |
| 3 |
+--------------+
我想要一个查询,它会将employeeID
表中的所有Records
插入EmployeeID
表格中的Attendance
,Hours
列中的值为8。
像这样:
+----------------------+
| Attendance |
+----------------------+
| EmployeeID | Hours |
|----------------------|
| 1 | 8 |
| 2 | 8 |
| 3 | 8 |
+----------------------+
我无法理解我搜索过的代码,所以我最终会问:)
顺便说一句,我使用的是SQL Server。
答案 0 :(得分:1)
最近,我发了一个你想要的查询。
INSERT INTO Attendence (EmployeeID, Hours)
SELECT EmployeeID, 8
FROM Records
WHERE EmployeeID > 0
WHERE
条件适用于SELECT
,不适用于INSERT INTO
。此查询会将所有EmployeeID
复制到Attendence
表,其中EmployeeID
大于0
。
SELECT EmployeeID, 8 FROM Records
将返回类似
的内容(1,8),(2,8),(3,8)
答案 1 :(得分:0)
只需使用:
INSERT INTO Attendance (EmployeeID, Hours)
SELECT EmployeeID, 8 FROM Records;