相关疑难解决方法(0)

加入两个表(具有1-M关系),其中第二个表需要"展平"为一行

给出以下表格:

学生

+----+-------+
| id | Name  |
+----+-------+
| 1  | Chris |
| 2  | Joe   |
| 3  | Jack  |
+----+-------+
Run Code Online (Sandbox Code Playgroud)

注册

+---------------+------------+-----------+----------+
| enrollment_id | student_id | course_id | complete |
+---------------+------------+-----------+----------+
| 1             | 1          | 55        | true     |
| 2             | 1          | 66        | true     |
| 3             | 1          | 77        | true     |
| 4             | 2          | 55        | true     |
| 5             | 2          | 66        | …
Run Code Online (Sandbox Code Playgroud)

mysql pivot join self-join

6
推荐指数
1
解决办法
4311
查看次数

sql查询将year设置为列名

通过编写以下查询

SELECT item_name, YEAR( DATE ) , SUM( item_sold_qty ) 
FROM item
JOIN sales ON item.id = sales.item_number
GROUP BY YEAR( DATE ) , item_name
ORDER BY item_name
Run Code Online (Sandbox Code Playgroud)

我能够得到以下结果

item_name   YEAR( DATE )    SUM( item_sold_qty )
pencil          2011              22
pencil          2012              44
eraser          2012              22
eraser          2011              11
pen             2012              66
pen             2011              33
nib             2012              88
nib             2011              44
Run Code Online (Sandbox Code Playgroud)

相反,我希望以下列方式得到结果

 item_name      2011    2012
    pencil       22      44            
    eraser       11      22                   
    pen          33      66                  
    nib          44      88
Run Code Online (Sandbox Code Playgroud)

我不是很擅长sql,并且不知道如何将年份设置为列名.需要帮忙.

注意 ::我的数据库有2个表.销售表的日期列有不同的日期,如2012-03-01,2012-04-02,2011-07-03,等......

mysql sql

6
推荐指数
1
解决办法
5477
查看次数

标签 统计

mysql ×2

join ×1

pivot ×1

self-join ×1

sql ×1