如何 select,更新和插入来自 table 的行到它自己?
How to select, update and insert rows from a table to itself?
我有一个考试table以下列
CLASS_EXAM_ID
CLASS_ID
EXAM_NAME
学期号
重量
FROM_DATE
TO_DATE
EXAM_DATE
其中 CLASS_EXAM_ID
是唯一 ID。
我想复制术语 1 并只创建术语 2。我有这个查询:
INSERT INTO Exam (ExamId, ClassId, Term, TermNo, Weight,Fromdate,Todate,ExamDate)
SELECT
'ExamId00001'AS EXPR1,
ClassId,
'Term 2' AS EXPR2,
TermNo,
Weight,
Fromdate,
ToDate,
ExamDate
FROM Exam
WHERE Term = 'Term 1'
如何为所选的每一行数据更改 ExamId
?
不清楚 ExamId
字段在此 table 中是如何定义的。如果它是唯一 ID,最好的方法是定义为 auto incremented key field。在这种情况下,只需使用不带 ExamId
和 SQL 的以下 INSERT 语句,服务器将自动插入唯一 ID。
INSERT INTO Exam (ClassId, Term, TermNo, Weight,Fromdate,Todate,ExamDate)
SELECT
ClassId,
'Term 2' AS EXPR2,
TermNo,
Weight,
Fromdate,
ToDate,
ExamDate
FROM Exam
WHERE Term = 'Term 1'
我有一个考试table以下列
CLASS_EXAM_ID CLASS_ID EXAM_NAME 学期号 重量 FROM_DATE TO_DATE EXAM_DATE
其中 CLASS_EXAM_ID
是唯一 ID。
我想复制术语 1 并只创建术语 2。我有这个查询:
INSERT INTO Exam (ExamId, ClassId, Term, TermNo, Weight,Fromdate,Todate,ExamDate)
SELECT
'ExamId00001'AS EXPR1,
ClassId,
'Term 2' AS EXPR2,
TermNo,
Weight,
Fromdate,
ToDate,
ExamDate
FROM Exam
WHERE Term = 'Term 1'
如何为所选的每一行数据更改 ExamId
?
不清楚 ExamId
字段在此 table 中是如何定义的。如果它是唯一 ID,最好的方法是定义为 auto incremented key field。在这种情况下,只需使用不带 ExamId
和 SQL 的以下 INSERT 语句,服务器将自动插入唯一 ID。
INSERT INTO Exam (ClassId, Term, TermNo, Weight,Fromdate,Todate,ExamDate)
SELECT
ClassId,
'Term 2' AS EXPR2,
TermNo,
Weight,
Fromdate,
ToDate,
ExamDate
FROM Exam
WHERE Term = 'Term 1'