Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Casse tête de requêtes imbriquées

2 réponses
Avatar
lassauce.vincent
Bonjour,

Je me trouve en face d'une requ=EAte qui fonctionne sous oracle et que
je dois faire fonctionner sur SQL Server. Voici =E0 peu pr=E8s la
syntaxe :

Select champ1, champ2, champ3
=46rom Table1, (Select Champ2.1, Champ2.2
From ( Select count(*), (Select champ3.1,champ3.2
from table3) as
alias1
from table4
group by alias1))

L'erreur se porte sur le alias1 car le visiblement sql serveur ne
supporte pas les alias dans les group by.

Je pense qu'avec mon exemple de requ=EAte vous me direz de faire une vue
temporaire avec "with" seulement mon exemple et un tout petit exemple.
La requ=EAte que je dois convertir porte environs 10 requ=EAtes imbriqu=E9es=

les unes dans les autres dont 5 requ=EAtes imbriqu=E9s dans la clause
SELECT.

Si quelqu'un =E0 une solution pour r=E9soudre mon probl=E8me, je suis
preneur

Cdt

2 réponses

Avatar
lassauce.vincent
On 17 juin, 14:58, wrote:
Bonjour,

Je me trouve en face d'une requête qui fonctionne sous oracle et que
je dois faire fonctionner sur SQL Server. Voici à peu près la
syntaxe :

Select champ1, champ2, champ3
From Table1, (Select Champ2.1, Champ2.2
From ( Select count(*), (Select champ3.1,champ3.2
from table3) as
alias1
from table4
group by alias1))

L'erreur se porte sur le alias1 car le visiblement sql serveur ne
supporte pas les alias dans les group by.

Je pense qu'avec mon exemple de requête vous me direz de faire une vue
temporaire avec "with" seulement mon exemple et un tout petit exemple.
La requête que je dois convertir porte environs 10 requêtes imbriqué es
les unes dans les autres dont 5 requêtes imbriqués dans la clause
SELECT.

Si quelqu'un à une solution pour résoudre mon problème, je suis
preneur

Cdt



Bon ok...
Mon message n'est pas claire mais j'ai trouvé l'erreur.
Mon exemple était incorrect

voici la requête qui ne fonctionne pas sur SQL Serveur et qui
fonctionne sur oracle :

select champ1, champ2, count(champ3)
from ( select champ1, champ2, champ3 from table1)
group by champ1, champ2, champ3;


et voici la requête corrigée

select champ1, champ2, count(champ3)
from ( select champ1, champ2, champ3 from table1) ALIAS
group by champ1, champ2, champ3;

C'est tout!
Avatar
zoltix
On 17 juin, 16:38, wrote:
On 17 juin, 14:58, wrote:



> Bonjour,

> Je me trouve en face d'une requête qui fonctionne sous oracle et que
> je dois faire fonctionner sur SQL Server. Voici à peu près la
> syntaxe :

> Select champ1, champ2, champ3
> From Table1, (Select Champ2.1, Champ2.2
>                    From ( Select count(*), (Select champ3.1,champ3.2
>                                                       from table3) as
> alias1
>                               from table4
>                               group by al ias1))

> L'erreur se porte sur le alias1 car le visiblement sql serveur ne
> supporte pas les alias dans les group by.

> Je pense qu'avec mon exemple de requête vous me direz de faire une vu e
> temporaire avec "with" seulement mon exemple et un tout petit exemple.
> La requête que je dois convertir porte environs 10 requêtes imbriqu ées
> les unes dans les autres dont 5 requêtes imbriqués dans la clause
> SELECT.

> Si quelqu'un à une solution pour résoudre mon problème, je suis
> preneur

> Cdt

Bon ok...
Mon message n'est pas claire mais j'ai trouvé l'erreur.
Mon exemple était incorrect

voici la requête qui ne fonctionne pas sur SQL Serveur et qui
fonctionne sur oracle :

select champ1, champ2, count(champ3)
from ( select champ1, champ2, champ3 from table1)
group by champ1, champ2, champ3;

et voici la requête corrigée

select champ1, champ2, count(champ3)
from ( select champ1, champ2, champ3 from table1) ALIAS
group by champ1, champ2, champ3;

C'est tout!



Merci