SQL クエリを使用して、エントリに値のリストが含まれているかどうかを確認し、比較します
P粉270842688
2023-08-30 17:47:36
<p>次のスキーマを持つ 2 つの MySql テーブルがあります</p>
<pre class="brush:php;toolbar:false;">Courses(CNO:CHAR(10),CName:VARCHAR(50), DeptId:CHAR(3)): 各コースには CNO という一意の ID があります。
Register(RNO:CHAR(10), CNO:CHAR(10), Year:INTEGER, Sem:INTEGER, Grade:CHAR)</pre>
<p>現在のタスクは、(r1, r2, d) を満たすすべてのタプルを見つけることです。このタプルでは、学生 ID r1 の学生が、学生 ID r2 の学生が ID<ID として完了したすべての DeptId を完了しています。 /ストロング>の学科のコース。 </p>
<p>私の方法は、まず学生番号 r2 の学生がその学科で履修したすべての科目を見つけ、次に同様に学生番号 r1 の学生がその学科で履修したすべての科目を見つけて、それらが優秀であるかどうかを比較することです。同じ。しかし、これが正しいかどうか、あるいは 2 つの結果をどのように比較すればよいのかわかりません。 </p>
<p>これは、特定の学部の中学番号 r2 の生徒が完了したすべてのコースを確認するために使用するコードです。</p>
<p>ここにコードとデータ DB Fiddle へのリンクがあります</p>
これは私の方法です
######ステップ1:### 学生の一意の組み合わせを含む 2 つの列、student1 とstudent2 を含むテーブルを作成します。 ###例えば:### リーリー ######ステップ2:### 前のテーブルの異なる DeptId ごとに一意の DeptIdを追加するテーブルを作成します。 ###例えば:### リーリー ステップ 3:
最後に、RNO1 と RNO2 が各 DeptId で同じコースをたどったタプルのみが保持されます。リーリー 上記は、RNO1 と RNO2 が同じシリーズの同じ CNO を持つ場合のみを選択しています。