基準として別のテーブルから文字列のみを使用して、テーブルに行を追加する方法

ジョン:

私は3つのテーブル件名、学生、入学を持っています

STUDENTテーブル
idstudentのstudent_name
346サム・スミス
454タイラーケージ
579マックス・グッドウィン

SUBJECTテーブル
idsubjectのsubject_name
401数学
301サイエンス

登録テーブル
idstudentクォーターfinal_grade idsubject
401 346 1Q A

301 454 1Q B

第2四半期の登録テーブルにMathクラスにマックスグッドウィンの登録を追加する方法。しかし、唯一のSQLにおける文で名前(例えば「マックス・グッドウィン」、「数学」)とない数字(例えばidstudent、idsubject)を指定しますか?

キーズJard:

:あなたは、インサートの選択を行うことができます

INSERT INTO enrollment(sdsubject, idstudent, Quarter, final_grade)
SELECT
  sub.idsubject,
  stu.idstudent
  '2Q',
  null
FROM
  student stu
  CROSS JOIN
  subject sub
WHERE
  stu.student_name = 'Max Goodwin' AND
  sub.subject_name = 'Math'

あなたはもちろん、すべてのそれらを登録する場合を除き! - しかし、それはidは(世界で最大Goodwinsの多い)であるように(特に)の名前が一意であることが保証されていないことを考えると、完全に賢明かもしれないではありません

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=408558&siteId=1