Как я могу перечислить элементы в одном поле MySQL? - PullRequest
0 голосов
/ 23 июля 2010

у меня есть таблица, заполненная моделями, год начала и окончания моделей, и присвоенные ему производственные данные

ModelNo | StartYear | EndYear | ProductID |  
0       | 1997      | 2000    | 511777    |  
1       | 1998      | 1998    | 511789    |  

что я хотел бы получить в виде результата в формате sql:

ProductID | Profile  
511777    | 0-1997,0-1998,0-1999,0-2000  
511789    | 1-1998

Если у кого-то есть идеи, как мне этого добиться.

DPERROTT

1 Ответ

1 голос
/ 23 июля 2010

Вам нужно присоединиться к вспомогательной таблице чисел (содержащей последовательные целые числа), чтобы ввести недостающие числа в диапазоне. Т.е. что-то вроде

... FROM Models m
JOIN Numbers n ON n.number >= m.StartYear AND n.number <= m.EndYear

Затем используйте CONCAT для получения 0-1997

и GROUP_CONCAT для получения 0-1997,0-1998,0-1999,0-2000

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...