2016-11-30 12 views
1

私は、次の列テーブルの行を選択、更新、挿入する方法

CLASS_EXAM_IDが固有のIDです。
 
CLASS_EXAM_ID 
CLASS_ID 
EXAM_NAME 
TermNo 
WEIGHT 
FROM_DATE 
TO_DATE 
EXAM_DATE 

と試験テーブルを持っています。

私はこのクエリを持っている用語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を変更するにはどうすればよいですか?

+5

質問を編集してください。 –

+0

'Term 'だけ​​を**変更する場合は' INSERT'ではなく、 'UPDATE'する必要がありますが、' Term'という別の列を追加してテーブル全体を変更しようとしているようです元の「Exam」テーブルにはありません。詳細を提供する必要があります。 – scsimon

答えて

1

ExamIdフィールドがこのテーブルでどのように定義されているかは不明です。一意のIDの場合は、定義するのが最も良い方法はauto incremented key fieldです。この場合、ちょうどExamIdなしで次のINSERTステートメントを使用すると、SQL Serverは一意の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' 
関連する問題