2017-05-05 47 views
0

我有表名= schedule如何选择只有一个字段和所有其他字段值重复的记录?

-------------------------------------------- 
| course_id | room | day |  time  | 
-------------------------------------------- 
|  2  | 401 |saturday| 9:00 - 13:00 | 
-------------------------------------------- 
|  3  | 401 | sunday | 9:00 - 13:00 | 
-------------------------------------------- 
|  2  | 402 | monday | 9:00 - 13:00 | 
-------------------------------------------- 
|  3  | 403 | tuesday| 14:00 - 17:00| 
-------------------------------------------- 
|  4  | 401 | tuesday| 9:00 - 13:00 | 
-------------------------------------------- 
|  2  | 402 |wednesday|14:00 - 17:00| 
-------------------------------------------- 

和另一个表名=当然

---------------------------------- 
| id | course_code | course_name | 
---------------------------------- 
| 2 | cse  | cse   | 
------------------------ 
| 3 | eee  | eee   | 
---------------------- 
| 4 | ct   | ct   | 
----------------------- 

现在如何让输出这样的..

---------------------------------- 
| course code | course name | info | 
---------------------------------- 
|cse   | cse  |401,satueday-9:00-13:00; 402,monday-9:00-13:00; 402,wednesday-14:00-17:00| 
------------------------ 
| eee  | eee   | 401,sunday-9:00-13:00;403,tuesday-14:00-17:00 | 
------------------------ 
| ct  | ct   | 401,tuesday-9:00-13:00| 
----------------------- 
+0

我不知道如何使表堆栈溢出?由于这个原因,我的表结构不好.. –

+0

php Myadmin数据库。 –

+0

查询[** HERE **](https://webapps.stackexchange.com/questions/6700/is-there-a-webapp-to-create-ascii-art-tables)表格格式 –

回答

1

您可以使用GROUP_CONCAT

select c.course_code, 
    c.course_name, 
    group_concat(concat(s.room, ',', s.day, '-', s.time) separator ';') 
from course c 
join schedule s on s.course_id = c.id 
group by c.course_code, 
    c.course_name; 
+0

我可以使用WHERE这个查询中的条件?像这样select c.course_code, c.course_name, group_concat(concat(s.room,',',s.day,' - ',s.time)separator';') from course c join schedule on s.course_id = c.id group by c.course_code, c.course_name WHERE example = 8; –

+0

@KuntalGupta你的桌子不是有例子吗?但是,你可以在那里包括 –

+0

哦对不起,它只是输入错误。 –

相关问题