2014-12-02 3 views
1

У меня есть два стола с 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 
+0

Это меня смущает немного, но, возможно, @Saharsh плохо отредактировали вопрос. Измените свой вопрос, чтобы сделать ваш план таблицы более четким. – cybermonkey

+0

Вещь, которую вы хотите сделать, называется «поворот» вашего результирующего набора. –

ответ

2

Попробуйте это:

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; 
+0

поблагодарить u very mcn ... –

+0

@Krishanthadesilva Добро пожаловать! –

Смежные вопросы