PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → [help] - alias non reconnu dans requete SQL
[help] - alias non reconnu dans requete SQL
Iniciado por secqueville.thmas, 11,jun. 2020 12:51 - 4 respuestas
Publicado el 11,junio 2020 - 12:51
Bonjour à tous,

je suis embêté avec une requete SQL relativement simple qui fonctionne sous NAVICAT mais pas dans WINDEV.

voici ma requete :

SELECT
C.DATE_SIGNAT,
C.CDE,
C.DESI1,
L.piece,
L.id_cde_lg,
L.id_cde,
L.REMIS_L,
(1-(L.REMIS_L/100))*L.PRIX/D.cours AS 'Prix_unitaire_euro',
M.prix_moyen
FROM
cde_lg L
INNER JOIN cde C ON L.ID_CDE = C.ID_CDE
INNER JOIN devise D ON L.ID_DEVISE = D.ID_DEVISE
INNER JOIN (SELECT L.id_piece, AVG((1-(L.REMIS_L/100))*L.PRIX/D.cours) AS 'prix_moyen'
FROM
cde_lg L
INNER JOIN devise D ON L.ID_DEVISE = D.ID_DEVISE
GROUP BY L.id_piece) M ON L.id_piece = M.id_piece
WHERE C.date_signat<'20180101'
AND L.id_type_lcde="1"
AND L.piece<>'PRS'

PETIT soucis, lorsque je fais tourner l'état, l'alias 'prix_moyen' n'est pas reconnu (comme par hasard le seul qui est dans ma sous-requête). J'obtiens constamment l'erreur : 'prix_moyen' n'est pas un paramètre[...] de MAREQ_ETAT (ma requete principale).


Auriez-vous une idée svp ?
Miembro registrado
2.682 mensajes
Publicado el 11,junio 2020 - 16:35
Bonjour,

As-tu essayé d'enlever les simple quotes autour de ton alias ?

--
Cordialement,

Philippe SAINT-BERTIN
Publicado el 11,junio 2020 - 17:36
Oui, ça n'a rien changé, j'ai également essayé de changer le nom de l'alias mais sans résultat.
Miembro registrado
2.682 mensajes
Publicado el 11,junio 2020 - 19:49
Quel SGBD utilises-tu ?

--
Cordialement,

Philippe SAINT-BERTIN
Publicado el 12,junio 2020 - 09:58
Kintaro a utilisé son clavier pour écrire :
Bonjour à tous,

je suis embêté avec une requete SQL relativement simple qui fonctionne sous
NAVICAT mais pas dans WINDEV.

voici ma requete :

SELECT
C.DATE_SIGNAT,
C.CDE,
C.DESI1,
L.piece,
L.id_cde_lg,
L.id_cde,
L.REMIS_L,
(1-(L.REMIS_L/100))*L.PRIX/D.cours AS 'Prix_unitaire_euro',
M.prix_moyen
FROM
cde_lg L
INNER JOIN cde C ON L.ID_CDE = C.ID_CDE
INNER JOIN devise D ON L.ID_DEVISE = D.ID_DEVISE
INNER JOIN (SELECT L.id_piece,
AVG((1-(L.REMIS_L/100))*L.PRIX/D.cours) AS 'prix_moyen'
FROM
cde_lg L
INNER JOIN devise D ON L.ID_DEVISE = D.ID_DEVISE
GROUP BY L.id_piece) M ON L.id_piece = M.id_piece
WHERE C.date_signat<'20180101' AND L.id_type_lcde="1"
AND L.piece<>'PRS'

PETIT soucis, lorsque je fais tourner l'état, l'alias 'prix_moyen' n'est pas
reconnu (comme par hasard le seul qui est dans ma sous-requête). J'obtiens
constamment l'erreur : 'prix_moyen' n'est pas un paramètre[...] de MAREQ_ETAT
(ma requete principale).


Auriez-vous une idée svp ?


bonjour,

essayez en mettant un AS pour l'alias de de la sous req du from

==> GROUP BY L.id_piece) AS M

je pense aussi qu'il serait judicieux de mettre des alias uniques pour
éviter toutes confusions possibles

--
Cordialement JeAn-PhI