.. il me reste plus qu'a comprendre comme utiliser : les cte-recursives (autre post.)
merci olivier
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de news: %
Case @OrderBy WHEN NULL THEN Field1 ELSE Null END
qu'il n'aime pas
Exact. Visiblement le message d'erreur indique que trier en utilisant une valeur constante plutôt qu'un nom de champ n'est pas supporté ce qui est confirmé si j'essaie par exemple :
select * from sys.databases order by NULL (qui donne donc le même message).
Donc si le tri n'est pas défini, trier sur un champ par défaut comme la clé primaire par exemple plutôt qu'en utilisant la constante NULL...
super ca fonctionne
.. il me reste plus qu'a comprendre comme utiliser : les cte-recursives
(autre post.)
merci
olivier
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de news:
%23p7s2EW5KHA.4264@TK2MSFTNGP02.phx.gbl...
Case @OrderBy WHEN NULL THEN Field1 ELSE Null END
qu'il n'aime pas
Exact. Visiblement le message d'erreur indique que trier en utilisant une
valeur constante plutôt qu'un nom de champ n'est pas supporté ce qui est
confirmé si j'essaie par exemple :
select * from sys.databases order by NULL (qui donne donc le même
message).
Donc si le tri n'est pas défini, trier sur un champ par défaut comme la
clé primaire par exemple plutôt qu'en utilisant la constante NULL...
.. il me reste plus qu'a comprendre comme utiliser : les cte-recursives (autre post.)
merci olivier
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de news: %
Case @OrderBy WHEN NULL THEN Field1 ELSE Null END
qu'il n'aime pas
Exact. Visiblement le message d'erreur indique que trier en utilisant une valeur constante plutôt qu'un nom de champ n'est pas supporté ce qui est confirmé si j'essaie par exemple :
select * from sys.databases order by NULL (qui donne donc le même message).
Donc si le tri n'est pas défini, trier sur un champ par défaut comme la clé primaire par exemple plutôt qu'en utilisant la constante NULL...
Sylvain Lafontaine
À moins que vous ne soyez en je ne sais plus quel mode de compatibité, vous ne pouvez pas utiliser un Case calculé contre une valeur nulle; de sorte que vous devez écrire à la place un Case logique:
Case When @OrderBy Is NULL THEN Field1 When @OrderBy = 'Field1' Then Field1 Else Null END
-- Sylvain Lafontaine, ing. MVP pour « Windows Live Platform » Blogue/site web: http://paparazzi-codeur.sylvainlafontaine.com Consultant indépendant et programmation à distance pour Access et SQL-Server.
"olivier" wrote in message news:%
super ca fonctionne
.. il me reste plus qu'a comprendre comme utiliser : les cte-recursives (autre post.)
merci olivier
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de news: %
Case @OrderBy WHEN NULL THEN Field1 ELSE Null END
qu'il n'aime pas
Exact. Visiblement le message d'erreur indique que trier en utilisant une valeur constante plutôt qu'un nom de champ n'est pas supporté ce qui est confirmé si j'essaie par exemple :
select * from sys.databases order by NULL (qui donne donc le même message).
Donc si le tri n'est pas défini, trier sur un champ par défaut comme la clé primaire par exemple plutôt qu'en utilisant la constante NULL...
À moins que vous ne soyez en je ne sais plus quel mode de compatibité, vous
ne pouvez pas utiliser un Case calculé contre une valeur nulle; de sorte que
vous devez écrire à la place un Case logique:
Case When @OrderBy Is NULL THEN Field1 When @OrderBy = 'Field1' Then Field1
Else Null END
--
Sylvain Lafontaine, ing.
MVP pour « Windows Live Platform »
Blogue/site web: http://paparazzi-codeur.sylvainlafontaine.com
Consultant indépendant et programmation à distance pour Access et
SQL-Server.
"olivier" <aa@aa.fr> wrote in message
news:%23LmAfOW5KHA.4888@TK2MSFTNGP06.phx.gbl...
super ca fonctionne
.. il me reste plus qu'a comprendre comme utiliser : les cte-recursives
(autre post.)
merci
olivier
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de
news: %23p7s2EW5KHA.4264@TK2MSFTNGP02.phx.gbl...
Case @OrderBy WHEN NULL THEN Field1 ELSE Null END
qu'il n'aime pas
Exact. Visiblement le message d'erreur indique que trier en utilisant une
valeur constante plutôt qu'un nom de champ n'est pas supporté ce qui est
confirmé si j'essaie par exemple :
select * from sys.databases order by NULL (qui donne donc le même
message).
Donc si le tri n'est pas défini, trier sur un champ par défaut comme la
clé primaire par exemple plutôt qu'en utilisant la constante NULL...
À moins que vous ne soyez en je ne sais plus quel mode de compatibité, vous ne pouvez pas utiliser un Case calculé contre une valeur nulle; de sorte que vous devez écrire à la place un Case logique:
Case When @OrderBy Is NULL THEN Field1 When @OrderBy = 'Field1' Then Field1 Else Null END
-- Sylvain Lafontaine, ing. MVP pour « Windows Live Platform » Blogue/site web: http://paparazzi-codeur.sylvainlafontaine.com Consultant indépendant et programmation à distance pour Access et SQL-Server.
"olivier" wrote in message news:%
super ca fonctionne
.. il me reste plus qu'a comprendre comme utiliser : les cte-recursives (autre post.)
merci olivier
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de news: %
Case @OrderBy WHEN NULL THEN Field1 ELSE Null END
qu'il n'aime pas
Exact. Visiblement le message d'erreur indique que trier en utilisant une valeur constante plutôt qu'un nom de champ n'est pas supporté ce qui est confirmé si j'essaie par exemple :
select * from sys.databases order by NULL (qui donne donc le même message).
Donc si le tri n'est pas défini, trier sur un champ par défaut comme la clé primaire par exemple plutôt qu'en utilisant la constante NULL...
Sylvain Lafontaine
C'est plutôt la façon de tester la valeur Null dans le Case qui est incorrecte dans l'extrait de code d'Olivier.
-- Sylvain Lafontaine, ing. MVP pour « Windows Live Platform » Blogue/site web: http://paparazzi-codeur.sylvainlafontaine.com Consultant indépendant et programmation à distance pour Access et SQL-Server.
"Patrice" <http://scribe-fr.blogspot.com/> wrote in message news:%
Case @OrderBy WHEN NULL THEN Field1 ELSE Null END
qu'il n'aime pas
Exact. Visiblement le message d'erreur indique que trier en utilisant une valeur constante plutôt qu'un nom de champ n'est pas supporté ce qui est confirmé si j'essaie par exemple :
select * from sys.databases order by NULL (qui donne donc le même message).
Donc si le tri n'est pas défini, trier sur un champ par défaut comme la clé primaire par exemple plutôt qu'en utilisant la constante NULL...
C'est plutôt la façon de tester la valeur Null dans le Case qui est
incorrecte dans l'extrait de code d'Olivier.
--
Sylvain Lafontaine, ing.
MVP pour « Windows Live Platform »
Blogue/site web: http://paparazzi-codeur.sylvainlafontaine.com
Consultant indépendant et programmation à distance pour Access et
SQL-Server.
"Patrice" <http://scribe-fr.blogspot.com/> wrote in message
news:%23p7s2EW5KHA.4264@TK2MSFTNGP02.phx.gbl...
Case @OrderBy WHEN NULL THEN Field1 ELSE Null END
qu'il n'aime pas
Exact. Visiblement le message d'erreur indique que trier en utilisant une
valeur constante plutôt qu'un nom de champ n'est pas supporté ce qui est
confirmé si j'essaie par exemple :
select * from sys.databases order by NULL (qui donne donc le même
message).
Donc si le tri n'est pas défini, trier sur un champ par défaut comme la
clé primaire par exemple plutôt qu'en utilisant la constante NULL...
C'est plutôt la façon de tester la valeur Null dans le Case qui est incorrecte dans l'extrait de code d'Olivier.
-- Sylvain Lafontaine, ing. MVP pour « Windows Live Platform » Blogue/site web: http://paparazzi-codeur.sylvainlafontaine.com Consultant indépendant et programmation à distance pour Access et SQL-Server.
"Patrice" <http://scribe-fr.blogspot.com/> wrote in message news:%
Case @OrderBy WHEN NULL THEN Field1 ELSE Null END
qu'il n'aime pas
Exact. Visiblement le message d'erreur indique que trier en utilisant une valeur constante plutôt qu'un nom de champ n'est pas supporté ce qui est confirmé si j'essaie par exemple :
select * from sys.databases order by NULL (qui donne donc le même message).
Donc si le tri n'est pas défini, trier sur un champ par défaut comme la clé primaire par exemple plutôt qu'en utilisant la constante NULL...
Patrice
C'est plutôt la façon de tester la valeur Null dans le Case qui est incorrecte dans l'extrait de code d'Olivier.
Mais même sans test, cela ne passe pas :
SELECT * FROM MaTable ORDER BY NULL donne le même message.
Je pense que cette possibilité fonctionnait peut-être précédemment mais a été explicitement interdite par SQL Server 2005...
Vérification faite c'est bien le cas :
"Une colonne de tri peut inclure une expression ; cependant, lorsque la base de données s'exécute en mode de compatibilité SQL Server 2005 (90), le résultat de l'expression ne peut pas être une constante." tiré de :
C'est plutôt la façon de tester la valeur Null dans le Case qui est
incorrecte dans l'extrait de code d'Olivier.
Mais même sans test, cela ne passe pas :
SELECT * FROM MaTable ORDER BY NULL donne le même message.
Je pense que cette possibilité fonctionnait peut-être précédemment mais a
été explicitement interdite par SQL Server 2005...
Vérification faite c'est bien le cas :
"Une colonne de tri peut inclure une expression ; cependant, lorsque la base
de données s'exécute en mode de compatibilité SQL Server 2005 (90), le
résultat de l'expression ne peut pas être une constante." tiré de :
C'est plutôt la façon de tester la valeur Null dans le Case qui est incorrecte dans l'extrait de code d'Olivier.
Mais même sans test, cela ne passe pas :
SELECT * FROM MaTable ORDER BY NULL donne le même message.
Je pense que cette possibilité fonctionnait peut-être précédemment mais a été explicitement interdite par SQL Server 2005...
Vérification faite c'est bien le cas :
"Une colonne de tri peut inclure une expression ; cependant, lorsque la base de données s'exécute en mode de compatibilité SQL Server 2005 (90), le résultat de l'expression ne peut pas être une constante." tiré de :
Ce n'est pas la même chose ici car vous avez uniquement une constante ici. Dans le cas du Case, ce n'est pas la même chose car le Case est une expression associée à une ou plusieurs des colonnes.
-- Sylvain Lafontaine, ing. MVP pour « Windows Live Platform » Blogue/site web: http://paparazzi-codeur.sylvainlafontaine.com Consultant indépendant et programmation à distance pour Access et SQL-Server.
"Patrice" <http://scribe-fr.blogspot.com/> wrote in message news:
C'est plutôt la façon de tester la valeur Null dans le Case qui est incorrecte dans l'extrait de code d'Olivier.
Mais même sans test, cela ne passe pas :
SELECT * FROM MaTable ORDER BY NULL donne le même message.
Je pense que cette possibilité fonctionnait peut-être précédemment mais a été explicitement interdite par SQL Server 2005...
Vérification faite c'est bien le cas :
"Une colonne de tri peut inclure une expression ; cependant, lorsque la base de données s'exécute en mode de compatibilité SQL Server 2005 (90), le résultat de l'expression ne peut pas être une constante." tiré de :
Ce n'est pas la même chose ici car vous avez uniquement une constante ici.
Dans le cas du Case, ce n'est pas la même chose car le Case est une
expression associée à une ou plusieurs des colonnes.
--
Sylvain Lafontaine, ing.
MVP pour « Windows Live Platform »
Blogue/site web: http://paparazzi-codeur.sylvainlafontaine.com
Consultant indépendant et programmation à distance pour Access et
SQL-Server.
"Patrice" <http://scribe-fr.blogspot.com/> wrote in message
news:u8ss33W5KHA.5952@TK2MSFTNGP04.phx.gbl...
C'est plutôt la façon de tester la valeur Null dans le Case qui est
incorrecte dans l'extrait de code d'Olivier.
Mais même sans test, cela ne passe pas :
SELECT * FROM MaTable ORDER BY NULL donne le même message.
Je pense que cette possibilité fonctionnait peut-être précédemment mais a
été explicitement interdite par SQL Server 2005...
Vérification faite c'est bien le cas :
"Une colonne de tri peut inclure une expression ; cependant, lorsque la
base de données s'exécute en mode de compatibilité SQL Server 2005 (90),
le résultat de l'expression ne peut pas être une constante." tiré de :
Ce n'est pas la même chose ici car vous avez uniquement une constante ici. Dans le cas du Case, ce n'est pas la même chose car le Case est une expression associée à une ou plusieurs des colonnes.
-- Sylvain Lafontaine, ing. MVP pour « Windows Live Platform » Blogue/site web: http://paparazzi-codeur.sylvainlafontaine.com Consultant indépendant et programmation à distance pour Access et SQL-Server.
"Patrice" <http://scribe-fr.blogspot.com/> wrote in message news:
C'est plutôt la façon de tester la valeur Null dans le Case qui est incorrecte dans l'extrait de code d'Olivier.
Mais même sans test, cela ne passe pas :
SELECT * FROM MaTable ORDER BY NULL donne le même message.
Je pense que cette possibilité fonctionnait peut-être précédemment mais a été explicitement interdite par SQL Server 2005...
Vérification faite c'est bien le cas :
"Une colonne de tri peut inclure une expression ; cependant, lorsque la base de données s'exécute en mode de compatibilité SQL Server 2005 (90), le résultat de l'expression ne peut pas être une constante." tiré de :
Ce n'est pas la même chose ici car vous avez uniquement une constante ici. Dans le cas du Case, ce n'est pas la même chose car le Case est une expression associée à une ou plusieurs des colonnes.
Ok, mais le message d'erreur rencontré semble être le même (lorsque le case retourne NULL au lieu d'indiquer un nom de colonne).
Enfin l'auteur original se manifestera à nouveau si besoin...
Bonne continuation...
Ce n'est pas la même chose ici car vous avez uniquement une constante ici.
Dans le cas du Case, ce n'est pas la même chose car le Case est une
expression associée à une ou plusieurs des colonnes.
Ok, mais le message d'erreur rencontré semble être le même (lorsque le case
retourne NULL au lieu d'indiquer un nom de colonne).
Enfin l'auteur original se manifestera à nouveau si besoin...
Ce n'est pas la même chose ici car vous avez uniquement une constante ici. Dans le cas du Case, ce n'est pas la même chose car le Case est une expression associée à une ou plusieurs des colonnes.
Ok, mais le message d'erreur rencontré semble être le même (lorsque le case retourne NULL au lieu d'indiquer un nom de colonne).
Enfin l'auteur original se manifestera à nouveau si besoin...
Bonne continuation...
olivier
disons que je n'utilise plus de valeur NULL pour contourner le pb
merci olivier
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de news:
Ce n'est pas la même chose ici car vous avez uniquement une constante ici. Dans le cas du Case, ce n'est pas la même chose car le Case est une expression associée à une ou plusieurs des colonnes.
Ok, mais le message d'erreur rencontré semble être le même (lorsque le case retourne NULL au lieu d'indiquer un nom de colonne).
Enfin l'auteur original se manifestera à nouveau si besoin...
Bonne continuation...
disons que je n'utilise plus de valeur NULL pour contourner le pb
merci
olivier
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de news:
Of4FGdg5KHA.5464@TK2MSFTNGP05.phx.gbl...
Ce n'est pas la même chose ici car vous avez uniquement une constante
ici. Dans le cas du Case, ce n'est pas la même chose car le Case est une
expression associée à une ou plusieurs des colonnes.
Ok, mais le message d'erreur rencontré semble être le même (lorsque le
case retourne NULL au lieu d'indiquer un nom de colonne).
Enfin l'auteur original se manifestera à nouveau si besoin...
disons que je n'utilise plus de valeur NULL pour contourner le pb
merci olivier
"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de news:
Ce n'est pas la même chose ici car vous avez uniquement une constante ici. Dans le cas du Case, ce n'est pas la même chose car le Case est une expression associée à une ou plusieurs des colonnes.
Ok, mais le message d'erreur rencontré semble être le même (lorsque le case retourne NULL au lieu d'indiquer un nom de colonne).
Enfin l'auteur original se manifestera à nouveau si besoin...