検索

ホームページ  >  に質問  >  本文

SQL クエリを使用して、エントリに値のリストが含まれているかどうかを確認し、比較します

<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>
P粉270842688P粉270842688457日前523

全員に返信(1)返信します

  • P粉799885311

    P粉7998853112023-08-31 10:19:18

    これは私の方法です

    ######ステップ1:### 学生の一意の組み合わせを含む 2 つの列、student1 とstudent2 を含むテーブルを作成します。 ###例えば:### リーリー ######ステップ2:### 前のテーブルの異なる DeptId ごとに一意の DeptId

    を追加するテーブルを作成します。 ###例えば:### リーリー ステップ 3:

    最後に、RNO1 と RNO2 が各 DeptId で同じコースをたどったタプルのみが保持されます。

    以下は、rno1_rno2_deptid が上記のテーブルを参照する例です。

    リーリー 上記は、RNO1 と RNO2 が同じシリーズの同じ CNO を持つ場合のみを選択しています。

    返事
    0
  • キャンセル返事