0

新しいデータベースのテスト データを生成していますが、外部キー フィールドの 1 つを入力するのに問題があります。テーブル ( )に比較的多数 (1000) のエントリを作成する必要があります。このテーブルには、エントリがSurveyResponses6 つしかないテーブル ( ) への外部キーがありますSurveys

Schoolsデータベースには、数千のレコードを持つテーブルが既にあります。議論のために、このように見えるとしましょう

Schools
+----+-------------+
| Id | School Name |
+----+-------------+
|  1 | PS 1        |
|  2 | PS 2        |
|  3 | PS 3        |
|  4 | PS 4        |
|  5 | PS 5        |
+----+-------------+

新しいSurveyテーブルを作成しています。約3列しかありません。

Survey
+----+-------------+
| Id |    Col2     |
+----+-------------+
|  1 | 2014 Survey |
|  2 | 2015 Survey |
|  3 | 2016 Survey |
+----+-------------+

SurveyResponses学校を調査に結び付けるだけです。

Survey Responses
+----+----------+----------+
| Id | SchoolId | SurveyId |
+----+----------+----------+
|  1 |        1 |        1 |
|  2 |        2 |        2 |
|  3 |        3 |        1 |
|  4 |        4 |        3 |
|  5 |        5 |        2 |
+----+----------+----------+

フィールドSurveyIdへの入力は、私に最も問題を引き起こしているものです。1000 の学校をランダムに選択できますが、1000 のランダムな SurveyId を生成する方法がわかりません。while ループを回避しようとしてきましたが、それが唯一の選択肢でしょうか?

Red Gate SQL Data Generator を使用してテスト データの一部を生成してきましたが、この場合、生の SQL でこれを行う方法を理解したいと思います。

4

1 に答える 1