2016-06-22 21 views
0

をテーブルの結合と異なる条件で列を表示する: CTUは、NUは、テーブル内の列「名前」と「ID」は、私は2つのテーブルを持っている

のuser_idが含まれているカラムのCourse_IDに '、「USER_ID」、および「日付」 が含まれていますCTUはテーブルNUの 'id'と同じ情報を持っています。

出力を次のように表示します。 name |日付where course_id = 1 |ここで、course_id = 2

単純なクエリで表示される最初の2列を取得できますが、SQL JOINとサブクエリは非常によくわかりませんので、最後の列を表示するのは苦労しています。

+0

プラザは...働いcorymtak – Esty

答えて

0

このような日付をピボットアウトする1つの方法は、グループを集計関数として使用することです。どのようにこのような何かについて:

SELECT 
    n.name 
    ,MAX(CASE WHEN c.course_id = 1 THEN c.date END) AS course_1_date 
    ,MAX(CASE WHEN c.course_id = 2 THEN c.date END) AS course_2_date 
FROM CTU as c 
JOIN NU as n 
    ON c.user_id = n.id 
GROUP BY n.name 
+0

おかげで、いくつかのデータサンプルを提供します。とても有難い! – pseudoforker

関連する問題