我有2张桌子: CTU包含列' course_id',' user_id'和' date' NU包含列' name'和' id'
表CTU中的user_id与' id'具有相同的信息。在表NU。
我希望我的输出显示以下内容: 名字| date_id = 1 |的日期date_id = 2
的日期我可以通过一个简单的查询显示前两列,但我不太了解SQL JOIN和子查询,所以我很难将最后一列添加到显示。
答案 0 :(得分:0)
将这样的日期转出的一种方法是使用group by和aggregate函数。这样的事情怎么样:
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