Bonjour, je souhaiterais effectuer une requête sur une table MA_TABLE qui dispose de plusieurs colonnes commençant par le même nom : COLONNE_1, COLONNE_2, COLONNE_3, etc... jusqu'à COLONNE_20.

L'objectif de la requête est d'obtenir uniquement les colonnes qui n'ont aucune valeur de saisie dans les enregistrements.

Cette requête intégrerait donc une exception de type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
SELECT * 
FROM MA_TABLE 
WHERE  COLONNE_1 IS NULL 
OR COLONNE_2 IS NUL 
OR COLONNE_3 IS NULL 
OR COLONNE_4 IS NULL
 etc..
Comment pourrais-je faire une boucle sur le nom d'une colonne afin d'éviter de taper COLONNE_n IS NULL plusieurs fois.

J'ai essayé la chose suivante mais cela ne fonctionne pas

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
declare @i int
declare @cmd varchar(100)
SELECT @i = 1
while @i < 21
begin
    SELECT @cmd = SELECT * FROM MA_TABLE WHERE COLONNE_@i IS NULL
    exec (@cmd)
    SELECT @i = @i + 1
end
Merci par avance de votre aide.