Нужна помощь в формулировании вывода запроса определенным образом - PullRequest
0 голосов
/ 10 октября 2010

У нас есть таблица с списками телеканалов.

create table listing (id, channel_name, event_name, event_time)

a) listing (1, "ABC Channel", "All My Children", 6.00 AM)
b) listing (2, "ABC Channel", "News", 7 AM)
c) listing (3, "ABC Channel", "One life to live", 7.15 AM)
d) listing (4, "ABC Channel", "General Hospital", 8.00 AM)
e) listing (5, "ABC Channel", "News", 9.00 AM)
f) listing (6, "ABC Channel", "Movie 1", 9.15 AM)
g) listing (7, "ABC Channel", "News", 10.00 AM)

Моя веб-страница показывает список определенных телеканалов следующим образом: -

event_name        event_times
---------------------------------------------
All My Children   6.00 AM
News              7.00 AM, 9.00 AM, 10.00 AM
One life to live  7.15 AM
General Hospital  8.00 AM
Movie 1           9.15 AM

Все Новости Времена объединены в одну запись, в настоящее время я объединяю записи на прикладном уровне, возможно ли это сделать на уровне запроса.

Ответы [ 2 ]

3 голосов
/ 10 октября 2010

Попробуйте что-то вроде этого:

  SELECT event_name,
         GROUP_CONCAT(event_time SEPARATOR ', ' ORDER BY event_time) AS event_times
    FROM listing
GROUP BY event_name
ORDER BY event_name

Если вам это нужно для отдельных каналов, это должно работать:

  SELECT event_name,
         GROUP_CONCAT(event_time SEPARATOR ', ' ORDER BY event_time) AS event_times
    FROM listing
   WHERE channel_name = 'ABC Channel'
GROUP BY event_name
ORDER BY event_name
1 голос
/ 10 октября 2010

Возможно UNION не-новости вместе со строками новостей.Только новости должны быть объединены.

SELECT event_name,
       event_times
FROM  (
  SELECT
    event_name, event_time
  FROM listing
  WHERE event_name != 'News' 
  UNION
  SELECT event_name, GROUP_CONCAT(event_time SEPARATOR ', ') event_time
  FROM listing
  WHERE event_name = 'News' 
  ) AS All 
ORDER BY event_times ASC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...