Vous pouvez utiliser UNPIVOT
pour une ligne comme celle-ci pour obtenir uniquement une colonne avec des valeurs
SELECT colvalue
FROM
(
SELECT *
FROM Table1
UNPIVOT INCLUDE NULLS
(
colvalue FOR cols IN (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, ... col50)
)
);
Exemple de sortie :
| COLVALUE | ------------ | 1 | | 2 | | (null) | |..........|
Si vous avez besoin d'une colonne avec des noms de colonne de votre tableau croisé dynamique, abandonnez simplement la sélection externe
SELECT *
FROM Table1
UNPIVOT INCLUDE NULLS
(
colvalue FOR cols IN (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, ... col50)
);
Exemple de sortie :
| COLS | COLVALUE | -------------------- | COL1 | 1 | | COL2 | 2 | | COL3 | (null) | | ..... |......... |
Voici SQLFiddle démo