2016-04-25 9 views
0

私はSQLクエリフィールドで新しいですが、いくつかのクエリを実行できます。関連するデータをテーブル行に追加して、同じ列に表示したいと思います。ここでは、データを含むテーブルは以下のとおりです。異なる行のデータを追加してSQLクエリで1行の列として表示する方法

enter image description here

任意の助けが理解されるであろう。事前に感謝

+3

ピボットを。グループ化を行うには、case式を使用します。 – jarlh

+0

プレゼンテーション層/アプリケーションレベルのコードでのデータ表示の問題を処理することを検討します(たとえば、順序付けられた配列に作用する単純なPHPループ)。 – Strawberry

+0

各生徒には3ポイントしかありませんか? – keronconk

答えて

0

が唯一の3つの質問には、実際に、あなたはこのような何か行うことができ、テーブルが学生と命名されたと仮定した場合:

select studentid AS Student, 
(select Questionpoints from Student where studentid = a.studentid and Questionid = 8) AS Qn1, 
(select Questionpoints from Student where studentid = a.studentid and Questionid = 9) AS Qn2, 
(select Questionpoints from Student where studentid = a.studentid and Questionid = 10) AS Qn3 
from Student as a 
group by studentid; 
+0

注:私は列名を少し変更していますのでコピーして過ぎないでください; –

+0

ありがとう@リチャード。これは既知のQuestionidで動作しますが、Questionidがわからないときにこれを可能にするかどうか質問したいと思います。上記の表は1つのコースのみです。次のコースの質問を追加すると、新しいQuestionidsがそれぞれの生徒のテーブルに追加されます。 Questionidを指定せずにこれを行うことはできますか?ありがとう – Jef

+0

@Jef それでもまだ3つの質問だけであれば、最初の質問で「質問点LIMIT 1」と「質問点による生徒の発言から質問点を選択」LIMIT 1第2の質問のための「オフセット1」などがある。これはシンプルですが、おそらく非常に洗練されたソリューションではなく、おそらくパフォーマンスが低いと思われます。 –

関連する問題