0

こんにちは、null フィールドがほとんどないテーブルの学生がいます。Student# は、このテーブルの主キーです。学生テーブルからデータを選択し、Excelまたはdocファイルからnullフィールドを埋めてOfficerecordテーブルに挿入することにより、Officerecordテーブルにデータを挿入したいと考えています。

Student
=======
Student #   name     Course    age
1            Jess     ENG       19
2            Jane               20
3            Kevin    MAT       19
4            Rob                21

上記の表では、学生 2 と学生 4 のコース データが欠落しています。学生番号とコース データを含むコース ファイルがあります。ファイルからデータを読み取り、このレコードを次のような「Officerecord」テーブルに挿入します。

Officerecord
===========

OFFICE#        STUDENT#           COURSE

このテーブルにデータを挿入している間、学生に関連する null 値を行に含めないようにします。

助けてください。

4

3 に答える 3

1

SQL DeveloperはExcelファイル(.xls/.xlsx)を表に直接インポートできますが、事前に表構造を定義する必要があります。リスト内のテーブルを右クリックし、インポート データを選択し、ファイルを選択してから、Excel の列をテーブルの列と一致させるだけです。

インポートには外部テーブルを使用するのが理想的ですが、外部テーブルを使用してスプレッドシートを簡単に操作できるとは思いません。

いずれにせよ、両方のデータ セットをロードしたら、Student テーブルを簡単に更新して null を埋めることができます。

UPDATE Student
SET (COURSE) =
( SELECT COURSE
  FROM Officerecord
  WHERE Student.Student# = Officerecord.Student# )
WHERE COURSE IS NULL;

1 人の学生に対して Officerecord に 2 つのエントリがある場合、これは失敗することに注意してください。

于 2013-03-20T17:31:27.340 に答える
0

ソースデータファイルからテキストをコピーし、一連の更新ステートメントであるスクリプトを作成します。

ここでは、プログラマーのファイル エディターが役立ちます。生データを次の形式のステートメントに変換するマクロを記録します。 update student set course = 'myCourse' where StudentNo = 99 and course is null;

于 2013-03-20T17:21:23.253 に答える