我有一个充满模型的表格,模型开始年份和结束年份以及分配给它的productid
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
答案 0 :(得分:1)
你需要加入一个辅助numbers table(包含连续的整数)来将缺失的数字带入范围内。例如
... 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