【问题标题】:how can I print multiple rows data in one column?如何在一列中打印多行数据?
【发布时间】:2014-12-02 13:22:32
【问题描述】:

我有两张下面的mysql表?

TimeSchedule 

subID | date  | venue  | timeslot 

1     |  8-12 |  ABC   |   10 - 12

2     |  8-12 |  ABC   |   2 - 4 

subject

subID | name 

1     | Games
2     | Music

我想将这两个表格数据显示如下?

Date | 10 - 12 | 2 - 4 |Venue

8-12 | Game    | Music | ABC

【问题讨论】:

  • 这让我有点困惑,但也许@Saharsh 编辑你的问题很糟糕。请编辑您的问题,使您的表格布局更清晰。
  • 您想要做的事情是“透视”您的结果集。

标签: mysql sql select group-by pivot-table


【解决方案1】:

试试这个:

SELECT t.date, 
       MAX(CASE WHEN t.timeslot = '10 - 12' THEN s.name ELSE '' END) AS `10 - 12`,  
       MAX(CASE WHEN t.timeslot = '2 - 4' THEN s.name ELSE '' END) AS `2 - 4`,  
       t.venue  
FROM TimeSchedule t
INNER JOIN `subject` s ON t.subID = s.subID  
GROUP BY t.date;

【讨论】:

    猜你喜欢
    • 2012-09-14
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    • 2015-12-09
    • 1970-01-01
    相关资源
    最近更新 更多