検索

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

(同じ行内の) 複数の列を別々の行に分割する PHP SQL クエリ

<p>学生のテスト結果をリストした表があります。各行には学生 ID が含まれ、列があり、各列は個々のテストのスコアを表します。ここで、各テストのスコアに対応する学生 ID の個別の行を表示できるようにするクエリを作成する必要があります。最善のアプローチを求めて Stack Overflow を検索しましたが、効率的と思われるアプローチは見つかりませんでした。 1 人の生徒 (1000002) のために以下のコードを書きましたが、達成しようとしていることに対して複雑すぎるようで、テストの 3 点に対してのみ機能するため、16 点すべてを取得するにはさらにコードを追加する必要があります。単一のクエリでこれを行う簡単な方法はありますか (推奨)、それとも行を抽出し、ループを使用して各要素から配列を構築する必要がありますか (2 番目に推奨)。 </p> <pre class="brush:php;toolbar:false;">SELECT スコア_uid 、スコア1 から 評価スコア WHERE fk_assigned_uid = '1000002' すべてを結合する 選択する スコア_uid 、スコア2 から 評価スコア WHERE fk_assigned_uid = '1000002' すべてを結合する 選択する スコア_uid 、スコア3 から 評価スコア WHERE fk_assigned_uid = '1000002';</pre> <p><br /></p>
P粉336536706P粉336536706494日前391

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

  • P粉908643611

    P粉9086436112023-07-28 17:42:24

    理想的には、次のような構造にする必要があります:

    ######学生######

    #id

    ######名前######
    • テスト
    • #id
    • ######番号######
    ######試験結果######

    #id

    ######学生証######
    • test_id ######結果######
    • これにより、1 つのクエリで学生のすべての結果を取得できます。 リーリー

      返事
      0
  • キャンセル返事