OVH Cloud OVH Cloud

compatibilité 90 & 80 avec sql 2005

4 réponses
Avatar
Ch.
Bonjour,

j'ai du reinstaller un serveur, nous en avons profiter pour faire la
migration vers un 2005.
toutefois j'ai du redescendre à la compatibilité 2000 (80) car des requetes
dans notre application renvoi un message d'erreur du type !


avec la clause distinct les elements dans le order by doivent etre present
dans le select !


Alors effectivement y'a un alias et le order by est sur le nom du champ tel
que dans la table !

exemple !

select distinct N.monChamp1, N.Monchamp2 as TTT
from matable as N
Where N.MonChamp3 = 'ZOZO'
order by N.Monchamp2 desc


si j'enleve le distinct ca marche !!!! pas comprendre
si je met l'alias dans le order by à la place de N.monchamp2 ca marche aussi
!!!! pas comprendre tjrs

alors pourquoi pas en 2005 alors que ca marche en 2000 ???????
aurais-je ommis un parametrage quelquonque dans le serveur ?


Help merci d'eclairer ma lanterne !

4 réponses

Avatar
zoltix
Ch. wrote:
Bonjour,

j'ai du reinstaller un serveur, nous en avons profiter pour faire la
migration vers un 2005.
toutefois j'ai du redescendre à la compatibilité 2000 (80) car des requetes
dans notre application renvoi un message d'erreur du type !


avec la clause distinct les elements dans le order by doivent etre present
dans le select !


Alors effectivement y'a un alias et le order by est sur le nom du champ tel
que dans la table !

exemple !

select distinct N.monChamp1, N.Monchamp2 as TTT
from matable as N
Where N.MonChamp3 = 'ZOZO'
order by N.Monchamp2 desc


si j'enleve le distinct ca marche !!!! pas comprendre
si je met l'alias dans le order by à la place de N.monchamp2 ca marche aussi
!!!! pas comprendre tjrs

alors pourquoi pas en 2005 alors que ca marche en 2000 ???????
aurais-je ommis un parametrage quelquonque dans le serveur ?


Help merci d'eclairer ma lanterne !





Salut
je viens de faire le test sur 2 db configuré par defaut. J'ai le
meme message d'erreur que toi je pense

SQL 2000
Use pub
Go
select distinct country
from dbo.publishers
order by city
Go

Msg 145, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if SELECT DISTINCT is
specified.



SQL 2005
Use AdventureWorksDW
Go
select distinct StateProvinceName
from dbo.DimGeography
where StateProvinceName='Alabama'
order by StateProvinceCode
Go
Msg 145, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if SELECT DISTINCT is
specified.


de plus je trouve ce message normal...............

Mais j'ai besoin de plus de detail si je veux t'aider.
Donne nous un peu le résultat de ces requêtes

Go
DBCC USEROPTIONS;
go
EXEC sp_configure 'show advanced option', '1';
GO
RECONFIGURE;
GO
EXEC sp_configure
Avatar
Ch.
mais je ne comprends pas bien pourquoi si je repasse la compatibilité en SQL
2000 (80)
ca fonctionne ? et ce ne marche pas en compatibilité (90) ??????

mon etonnement vient du fait que ca ne devrait pas marcher ou marcher dans
les 2 cas ???

comment expliques tu cela ?




"zoltix" a écrit dans le message de news:
44f6a9d7$0$6640$
Ch. wrote:
Bonjour,

j'ai du reinstaller un serveur, nous en avons profiter pour faire la
migration vers un 2005.
toutefois j'ai du redescendre à la compatibilité 2000 (80) car des
requetes dans notre application renvoi un message d'erreur du type !


avec la clause distinct les elements dans le order by doivent etre
present dans le select !


Alors effectivement y'a un alias et le order by est sur le nom du champ
tel que dans la table !

exemple !

select distinct N.monChamp1, N.Monchamp2 as TTT
from matable as N
Where N.MonChamp3 = 'ZOZO'
order by N.Monchamp2 desc


si j'enleve le distinct ca marche !!!! pas comprendre
si je met l'alias dans le order by à la place de N.monchamp2 ca marche
aussi !!!! pas comprendre tjrs

alors pourquoi pas en 2005 alors que ca marche en 2000 ???????
aurais-je ommis un parametrage quelquonque dans le serveur ?


Help merci d'eclairer ma lanterne !



Salut
je viens de faire le test sur 2 db configuré par defaut. J'ai le meme
message d'erreur que toi je pense

SQL 2000
Use pub
Go
select distinct country
from dbo.publishers
order by city
Go

Msg 145, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if SELECT DISTINCT is
specified.



SQL 2005
Use AdventureWorksDW
Go
select distinct StateProvinceName
from dbo.DimGeography
where StateProvinceName='Alabama'
order by StateProvinceCode
Go
Msg 145, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if SELECT DISTINCT is
specified.


de plus je trouve ce message normal...............

Mais j'ai besoin de plus de detail si je veux t'aider.
Donne nous un peu le résultat de ces requêtes

Go
DBCC USEROPTIONS;
go
EXEC sp_configure 'show advanced option', '1';
GO
RECONFIGURE;
GO
EXEC sp_configure












Avatar
Ch.
de plus tu n'as pas recréer la "bonne" erreur !!

voici le message d'erreur retourné par SQL 2005 en compatibilité 90
Les éléments ORDER BY doivent se retrouver dans la liste de sélection si
SELECT DISTINCT est spécifié.

je rappel que si je change la compatibilité en 80 ça fontionne !!




"zoltix" a écrit dans le message de news:
44f6a9d7$0$6640$
Ch. wrote:
Bonjour,

j'ai du reinstaller un serveur, nous en avons profiter pour faire la
migration vers un 2005.
toutefois j'ai du redescendre à la compatibilité 2000 (80) car des
requetes dans notre application renvoi un message d'erreur du type !


avec la clause distinct les elements dans le order by doivent etre
present dans le select !


Alors effectivement y'a un alias et le order by est sur le nom du champ
tel que dans la table !

exemple !

select distinct N.monChamp1, N.Monchamp2 as TTT
from matable as N
Where N.MonChamp3 = 'ZOZO'
order by N.Monchamp2 desc


si j'enleve le distinct ca marche !!!! pas comprendre
si je met l'alias dans le order by à la place de N.monchamp2 ca marche
aussi !!!! pas comprendre tjrs

alors pourquoi pas en 2005 alors que ca marche en 2000 ???????
aurais-je ommis un parametrage quelquonque dans le serveur ?


Help merci d'eclairer ma lanterne !



Salut
je viens de faire le test sur 2 db configuré par defaut. J'ai le meme
message d'erreur que toi je pense

SQL 2000
Use pub
Go
select distinct country
from dbo.publishers
order by city
Go

Msg 145, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if SELECT DISTINCT is
specified.



SQL 2005
Use AdventureWorksDW
Go
select distinct StateProvinceName
from dbo.DimGeography
where StateProvinceName='Alabama'
order by StateProvinceCode
Go
Msg 145, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if SELECT DISTINCT is
specified.


de plus je trouve ce message normal...............

Mais j'ai besoin de plus de detail si je veux t'aider.
Donne nous un peu le résultat de ces requêtes

Go
DBCC USEROPTIONS;
go
EXEC sp_configure 'show advanced option', '1';
GO
RECONFIGURE;
GO
EXEC sp_configure












Avatar
zoltix
C'est vrai ce n'est pas le même message car il est en anglais.
Je sais aussi qu'il existe un paramètre en sql serveur qui permet de
rajouter implicitement certain paramètre………Faut chercher dans l’aide.




Ch. a écrit :
de plus tu n'as pas recréer la "bonne" erreur !!

voici le message d'erreur retourné par SQL 2005 en compatibilité 90
Les éléments ORDER BY doivent se retrouver dans la liste de sélection si
SELECT DISTINCT est spécifié.

je rappel que si je change la compatibilité en 80 ça fontionne !!




"zoltix" a écrit dans le message de news:
44f6a9d7$0$6640$

Ch. wrote:

Bonjour,

j'ai du reinstaller un serveur, nous en avons profiter pour faire la
migration vers un 2005.
toutefois j'ai du redescendre à la compatibilité 2000 (80) car des
requetes dans notre application renvoi un message d'erreur du type !


avec la clause distinct les elements dans le order by doivent etre
present dans le select !


Alors effectivement y'a un alias et le order by est sur le nom du champ
tel que dans la table !

exemple !

select distinct N.monChamp1, N.Monchamp2 as TTT
from matable as N
Where N.MonChamp3 = 'ZOZO'
order by N.Monchamp2 desc


si j'enleve le distinct ca marche !!!! pas comprendre
si je met l'alias dans le order by à la place de N.monchamp2 ca marche
aussi !!!! pas comprendre tjrs

alors pourquoi pas en 2005 alors que ca marche en 2000 ???????
aurais-je ommis un parametrage quelquonque dans le serveur ?


Help merci d'eclairer ma lanterne !



Salut
je viens de faire le test sur 2 db configuré par defaut. J'ai le meme
message d'erreur que toi je pense

SQL 2000
Use pub
Go
select distinct country
from dbo.publishers
order by city
Go

Msg 145, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if SELECT DISTINCT is
specified.



SQL 2005
Use AdventureWorksDW
Go
select distinct StateProvinceName
from dbo.DimGeography
where StateProvinceName='Alabama'
order by StateProvinceCode
Go
Msg 145, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if SELECT DISTINCT is
specified.


de plus je trouve ce message normal...............

Mais j'ai besoin de plus de detail si je veux t'aider.
Donne nous un peu le résultat de ces requêtes

Go
DBCC USEROPTIONS;
go
EXEC sp_configure 'show advanced option', '1';
GO
RECONFIGURE;
GO
EXEC sp_configure