2010-07-23 2 views
0

i ont une table remplie de modèles, les modèles année de début et de fin d'année et ProductID de qui lui sont assignéescomment est-ce que je peux lister des articles dans un champ MySQL?

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

ce que je voudrais est un résultat sql comme suit:

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

Si quelqu'un a des idées sur la façon dont je pourrais y parvenir.

DPERROTT

+0

Pourquoi wo Tu as besoin de ça comme résultat MySQL. C'est possible mais trop surchargé en MySQL. Je recommande de le faire dans un langage de programmation après avoir interrogé les données. – 2ndkauboy

Répondre

1

Vous auriez besoin de se joindre sur un numbers table auxiliaire (contenant des nombres entiers séquentiels) pour amener les nombres manquants dans la gamme de.-À-dire quelque chose comme

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

Utilisez ensuite CONCAT pour obtenir 0-1997

et GROUP_CONCAT pour obtenir 0-1997,0-1998,0-1999,0-2000

Questions connexes