Bonjour
Dans une procédure stockée, comment passer en paramètre une variable
pour le tri ?
create PROCEDURE MyProc
AS
BEGIN
SET NOCOUNT on;
SELECT *
FROM matable
ORDER BY myvar ??? DESC ou ASC en fonction
END
Merci
Olivier
Bonjour
Dans une procédure stockée, comment passer en paramètre une variable
pour le tri ?
create PROCEDURE MyProc
AS
BEGIN
SET NOCOUNT on;
SELECT *
FROM matable
ORDER BY myvar ??? DESC ou ASC en fonction
END
Merci
Olivier
Bonjour
Dans une procédure stockée, comment passer en paramètre une variable
pour le tri ?
create PROCEDURE MyProc
AS
BEGIN
SET NOCOUNT on;
SELECT *
FROM matable
ORDER BY myvar ??? DESC ou ASC en fonction
END
Merci
Olivier
On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une varia ble
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette tab le)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des me ssages précédents -
- Afficher le texte des messages précédents -
On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une varia ble
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette tab le)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des me ssages précédents -
- Afficher le texte des messages précédents -
On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une varia ble
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette tab le)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des me ssages précédents -
- Afficher le texte des messages précédents -
On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Vous devez utiliser plusieurs Case.
--
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:
On 23 avr, 12:35, Serguei Tarassov wrote:On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
Vous devez utiliser plusieurs Case.
--
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" <olivier941@gmail.com> wrote in message
news:f683a7c4-98c4-4759-bbb9-09d5bd7bec6e@t36g2000yqt.googlegroups.com...
On 23 avr, 12:35, Serguei Tarassov <se...@arbinada.com> wrote:
On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
Vous devez utiliser plusieurs Case.
--
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:
On 23 avr, 12:35, Serguei Tarassov wrote:On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" a écrit dans le
message de news: %Vous devez utiliser plusieurs Case.
--
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:
On 23 avr, 12:35, Serguei Tarassov wrote:On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" <sylvainlafontaine2009@yahoo.ca> a écrit dans le
message de news: %23ygxAT94KHA.980@TK2MSFTNGP04.phx.gbl...
Vous devez utiliser plusieurs Case.
--
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" <olivier941@gmail.com> wrote in message
news:f683a7c4-98c4-4759-bbb9-09d5bd7bec6e@t36g2000yqt.googlegroups.com...
On 23 avr, 12:35, Serguei Tarassov <se...@arbinada.com> wrote:
On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" a écrit dans le
message de news: %Vous devez utiliser plusieurs Case.
--
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:
On 23 avr, 12:35, Serguei Tarassov wrote:On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
Vous n'essayez toujours d'utiliser qu'un seul Case dans votre dernier
example. Voici un example avec plusieurs Case:
Order By
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
En retournant Null, 0 ou n'importe quelle autre constante, vous
neutralisez l'Order By pour le Case correspondant.
--
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:bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" a écrit dans le
message de news: %Vous devez utiliser plusieurs Case.
--
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:
On 23 avr, 12:35, Serguei Tarassov wrote:On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
Vous n'essayez toujours d'utiliser qu'un seul Case dans votre dernier
example. Voici un example avec plusieurs Case:
Order By
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
En retournant Null, 0 ou n'importe quelle autre constante, vous
neutralisez l'Order By pour le Case correspondant.
--
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:Ohawg1U5KHA.5952@TK2MSFTNGP04.phx.gbl...
bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" <sylvainlafontaine2009@yahoo.ca> a écrit dans le
message de news: %23ygxAT94KHA.980@TK2MSFTNGP04.phx.gbl...
Vous devez utiliser plusieurs Case.
--
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" <olivier941@gmail.com> wrote in message
news:f683a7c4-98c4-4759-bbb9-09d5bd7bec6e@t36g2000yqt.googlegroups.com...
On 23 avr, 12:35, Serguei Tarassov <se...@arbinada.com> wrote:
On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
Vous n'essayez toujours d'utiliser qu'un seul Case dans votre dernier
example. Voici un example avec plusieurs Case:
Order By
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
En retournant Null, 0 ou n'importe quelle autre constante, vous
neutralisez l'Order By pour le Case correspondant.
--
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:bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" a écrit dans le
message de news: %Vous devez utiliser plusieurs Case.
--
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:
On 23 avr, 12:35, Serguei Tarassov wrote:On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
ok maintenant il me dit :
Une Expression constante a été rencontrée dans la liste ORDER BY ???
CREATE PROCEDURE Mytestproc
AS BEGIN
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
END
merci
olivier
"Sylvain Lafontaine" a écrit dans le
message de news:Vous n'essayez toujours d'utiliser qu'un seul Case dans votre dernier
example. Voici un example avec plusieurs Case:
Order By
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
En retournant Null, 0 ou n'importe quelle autre constante, vous
neutralisez l'Order By pour le Case correspondant.
--
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:bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" a écrit dans le
message de news: %Vous devez utiliser plusieurs Case.
--
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:
On 23 avr, 12:35, Serguei Tarassov wrote:On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
ok maintenant il me dit :
Une Expression constante a été rencontrée dans la liste ORDER BY ???
CREATE PROCEDURE Mytestproc
AS BEGIN
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
END
merci
olivier
"Sylvain Lafontaine" <sylvainlafontaine2009@yahoo.ca> a écrit dans le
message de news: erVbcCV5KHA.5808@TK2MSFTNGP02.phx.gbl...
Vous n'essayez toujours d'utiliser qu'un seul Case dans votre dernier
example. Voici un example avec plusieurs Case:
Order By
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
En retournant Null, 0 ou n'importe quelle autre constante, vous
neutralisez l'Order By pour le Case correspondant.
--
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:Ohawg1U5KHA.5952@TK2MSFTNGP04.phx.gbl...
bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" <sylvainlafontaine2009@yahoo.ca> a écrit dans le
message de news: %23ygxAT94KHA.980@TK2MSFTNGP04.phx.gbl...
Vous devez utiliser plusieurs Case.
--
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" <olivier941@gmail.com> wrote in message
news:f683a7c4-98c4-4759-bbb9-09d5bd7bec6e@t36g2000yqt.googlegroups.com...
On 23 avr, 12:35, Serguei Tarassov <se...@arbinada.com> wrote:
On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
ok maintenant il me dit :
Une Expression constante a été rencontrée dans la liste ORDER BY ???
CREATE PROCEDURE Mytestproc
AS BEGIN
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
END
merci
olivier
"Sylvain Lafontaine" a écrit dans le
message de news:Vous n'essayez toujours d'utiliser qu'un seul Case dans votre dernier
example. Voici un example avec plusieurs Case:
Order By
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
En retournant Null, 0 ou n'importe quelle autre constante, vous
neutralisez l'Order By pour le Case correspondant.
--
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:bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" a écrit dans le
message de news: %Vous devez utiliser plusieurs Case.
--
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:
On 23 avr, 12:35, Serguei Tarassov wrote:On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte des
messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
Vous avez oublié de définir @OrderBy dans votre procédure.
--
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:ok maintenant il me dit :
Une Expression constante a été rencontrée dans la liste ORDER BY ???
CREATE PROCEDURE Mytestproc
AS BEGIN
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
END
merci
olivier
"Sylvain Lafontaine" a écrit dans le
message de news:Vous n'essayez toujours d'utiliser qu'un seul Case dans votre dernier
example. Voici un example avec plusieurs Case:
Order By
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
En retournant Null, 0 ou n'importe quelle autre constante, vous
neutralisez l'Order By pour le Case correspondant.
--
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:bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" a écrit dans le
message de news: %Vous devez utiliser plusieurs Case.
--
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:
On 23 avr, 12:35, Serguei Tarassov wrote:On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une
> variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte
des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
Vous avez oublié de définir @OrderBy dans votre procédure.
--
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:OAEWHVV5KHA.1924@TK2MSFTNGP06.phx.gbl...
ok maintenant il me dit :
Une Expression constante a été rencontrée dans la liste ORDER BY ???
CREATE PROCEDURE Mytestproc
AS BEGIN
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
END
merci
olivier
"Sylvain Lafontaine" <sylvainlafontaine2009@yahoo.ca> a écrit dans le
message de news: erVbcCV5KHA.5808@TK2MSFTNGP02.phx.gbl...
Vous n'essayez toujours d'utiliser qu'un seul Case dans votre dernier
example. Voici un example avec plusieurs Case:
Order By
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
En retournant Null, 0 ou n'importe quelle autre constante, vous
neutralisez l'Order By pour le Case correspondant.
--
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:Ohawg1U5KHA.5952@TK2MSFTNGP04.phx.gbl...
bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" <sylvainlafontaine2009@yahoo.ca> a écrit dans le
message de news: %23ygxAT94KHA.980@TK2MSFTNGP04.phx.gbl...
Vous devez utiliser plusieurs Case.
--
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" <olivier941@gmail.com> wrote in message
news:f683a7c4-98c4-4759-bbb9-09d5bd7bec6e@t36g2000yqt.googlegroups.com...
On 23 avr, 12:35, Serguei Tarassov <se...@arbinada.com> wrote:
On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une
> variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte
des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
Vous avez oublié de définir @OrderBy dans votre procédure.
--
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:ok maintenant il me dit :
Une Expression constante a été rencontrée dans la liste ORDER BY ???
CREATE PROCEDURE Mytestproc
AS BEGIN
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
END
merci
olivier
"Sylvain Lafontaine" a écrit dans le
message de news:Vous n'essayez toujours d'utiliser qu'un seul Case dans votre dernier
example. Voici un example avec plusieurs Case:
Order By
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
En retournant Null, 0 ou n'importe quelle autre constante, vous
neutralisez l'Order By pour le Case correspondant.
--
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:bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" a écrit dans le
message de news: %Vous devez utiliser plusieurs Case.
--
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:
On 23 avr, 12:35, Serguei Tarassov wrote:On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une
> variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte
des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
Vous avez oublié de définir @OrderBy dans votre procédure.
--
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:ok maintenant il me dit :
Une Expression constante a été rencontrée dans la liste ORDER BY ???
CREATE PROCEDURE Mytestproc
AS BEGIN
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
END
merci
olivier
"Sylvain Lafontaine" a écrit dans le
message de news:Vous n'essayez toujours d'utiliser qu'un seul Case dans votre dernier
example. Voici un example avec plusieurs Case:
Order By
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
En retournant Null, 0 ou n'importe quelle autre constante, vous
neutralisez l'Order By pour le Case correspondant.
--
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:bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" a écrit dans le
message de news: %Vous devez utiliser plusieurs Case.
--
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:
On 23 avr, 12:35, Serguei Tarassov wrote:On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une
> variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte
des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
Vous avez oublié de définir @OrderBy dans votre procédure.
--
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:OAEWHVV5KHA.1924@TK2MSFTNGP06.phx.gbl...
ok maintenant il me dit :
Une Expression constante a été rencontrée dans la liste ORDER BY ???
CREATE PROCEDURE Mytestproc
AS BEGIN
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
END
merci
olivier
"Sylvain Lafontaine" <sylvainlafontaine2009@yahoo.ca> a écrit dans le
message de news: erVbcCV5KHA.5808@TK2MSFTNGP02.phx.gbl...
Vous n'essayez toujours d'utiliser qu'un seul Case dans votre dernier
example. Voici un example avec plusieurs Case:
Order By
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
En retournant Null, 0 ou n'importe quelle autre constante, vous
neutralisez l'Order By pour le Case correspondant.
--
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:Ohawg1U5KHA.5952@TK2MSFTNGP04.phx.gbl...
bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" <sylvainlafontaine2009@yahoo.ca> a écrit dans le
message de news: %23ygxAT94KHA.980@TK2MSFTNGP04.phx.gbl...
Vous devez utiliser plusieurs Case.
--
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" <olivier941@gmail.com> wrote in message
news:f683a7c4-98c4-4759-bbb9-09d5bd7bec6e@t36g2000yqt.googlegroups.com...
On 23 avr, 12:35, Serguei Tarassov <se...@arbinada.com> wrote:
On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une
> variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte
des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
Vous avez oublié de définir @OrderBy dans votre procédure.
--
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:ok maintenant il me dit :
Une Expression constante a été rencontrée dans la liste ORDER BY ???
CREATE PROCEDURE Mytestproc
AS BEGIN
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
END
merci
olivier
"Sylvain Lafontaine" a écrit dans le
message de news:Vous n'essayez toujours d'utiliser qu'un seul Case dans votre dernier
example. Voici un example avec plusieurs Case:
Order By
CASE @OrderBy WHEN 'Field1' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field2' THEN Field2 Else Null End,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field1 Else Null End Desc,
CASE @OrderBy WHEN 'Field1+Field2' THEN Field2 Else Null End
En retournant Null, 0 ou n'importe quelle autre constante, vous
neutralisez l'Order By pour le Case correspondant.
--
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:bonjour,
j'ai essayé mais il ne veut pas de ( 'WHEN 'Field1+Field2' THEN Field1
DESC, Field2 ) !
SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
WHEN 'Field1+Field2' THEN Field1 DESC, Field2 -- Erreur içi !!
END
comment faire ?
merci bien
olivier
"Sylvain Lafontaine" a écrit dans le
message de news: %Vous devez utiliser plusieurs Case.
--
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:
On 23 avr, 12:35, Serguei Tarassov wrote:On 23/04/2010 11:51, Olivier wrote:
> Bonjour
> Dans une procédure stockée, comment passer en paramètre une
> variable
> pour le tri ?
> create PROCEDURE MyProc
> AS
> BEGIN
> SET NOCOUNT on;
> SELECT *
> FROM matable
> ORDER BY myvar ??? DESC ou ASC en fonction
> END
> Merci
> Olivier
Bonjour,
1. La procédure avec plusieurs IF ... ELSE ...
2. La procédure qui compose SQL dynamique et puis fait sp_executesql
@SQL (attention, l'utilisateur doit avoir les droits SELECT sur cette
table)
3. SELECT * FROM MyTable
ORDER BY
CASE @OrderBy
WHEN 'Field1' THEN Field1
WHEN 'Field2' THEN Field2
...
END
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com- Masquer le texte
des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Ok super mais … car il y a toujours un mais :-)
Si je veux trier sur plusieurs champs dans des ordres différents :
Field1 = Champs1 DESC, Champs2 ASC
J’ai essayé : WHEN 'Field1' THEN Field1 DESC, Field2
Mais ca passe pas
? Merci
Olivier
Case @OrderBy WHEN NULL THEN Field1 ELSE Null END
qu'il n'aime pas
Case @OrderBy WHEN NULL THEN Field1 ELSE Null END
qu'il n'aime pas
Case @OrderBy WHEN NULL THEN Field1 ELSE Null END
qu'il n'aime pas