OVH Cloud OVH Cloud

SELECT *.TABLE ne fonctionne pas

2 réponses
Avatar
webmaster
Bonjour,

Je possède plusieurs requetes SQL importé depuis un ancien projet
access ...

En voici une :

SELECT "A-F" AS Expr1, tot1.*, TOT1.ARTI_NAME AS NAME1, (select
max(tota.value_of_sale) from LIST_WEEK_WITH_TOT_BUY as tota) as
Max_sale
FROM LIST_WEEK_WITH_TOT_BUY AS tot1
WHERE ((tot1.ARTI_NAME)<"F*")
UNION select "F-Mo"AS eXPR1, tot2.*, TOT2.ARTI_NAME AS NAME1, (select
max(totb.value_of_sale) from LIST_WEEK_WITH_TOT_BUY as totb) as
Max_sale
FROM LIST_WEEK_WITH_TOT_BUY AS tot2
WHERE (((tot2.ARTI_NAME)>"F*") and ((tot2.ARTI_NAME)<"Mo*"))
UNION select "Mo-Z"AS eXPR1, tot3.*, TOT3.ARTI_NAME AS NAME1, (select
max(totc.value_of_sale) from LIST_WEEK_WITH_TOT_BUY as totc) as
Max_sale
FROM LIST_WEEK_WITH_TOT_BUY AS tot3
WHERE ((tot3.ARTI_NAME)>"Mo*")
ORDER BY NAME1;

Il me génère une erreur sur le NOM(Table ou requete).* ... Qu'elle est
l'équivalent Windev ?

D'avance merci

2 réponses

Avatar
Manu
Guillaume Simon [Simnet S.A.] wrote:
Bonjour,



Bonjour,

Je possède plusieurs requetes SQL importé depuis un ancien projet
access ...

En voici une :

SELECT "A-F" AS Expr1, tot1.*, TOT1.ARTI_NAME AS NAME1, (select
max(tota.value_of_sale) from LIST_WEEK_WITH_TOT_BUY as tota) as


[CUT]

Au risque de paraitre puriste, _on ne fait JAMAIS de select *_ pour
récupérer des données ! on nomme explictement toutes les colonnes. Le simple
exemple c'est l'ajout d'une colonne dans la table (qui parfois est
totalement inutile pour ton projet) et bien avec * ta requete tombe en
erreur !

Il me génère une erreur sur le NOM(Table ou requete).* ... Qu'elle est
l'équivalent Windev ?



Je ne vois pas si ce n'est transformer ta requete en une requete plus
facilement compréhensible et maintenable.

D'avance merci



Emmanuel
Avatar
mat
Guillaume Simon [Simnet S.A.] wrote:

Bonjour,

Je possède plusieurs requetes SQL importé depuis un ancien projet
access ...

En voici une :

SELECT "A-F" AS Expr1, tot1.*, TOT1.ARTI_NAME AS NAME1, (select
max(tota.value_of_sale) from LIST_WEEK_WITH_TOT_BUY as tota) as
Max_sale
FROM LIST_WEEK_WITH_TOT_BUY AS tot1
WHERE ((tot1.ARTI_NAME)<"F*")
UNION select "F-Mo"AS eXPR1, tot2.*, TOT2.ARTI_NAME AS NAME1, (select
max(totb.value_of_sale) from LIST_WEEK_WITH_TOT_BUY as totb) as
Max_sale
FROM LIST_WEEK_WITH_TOT_BUY AS tot2
WHERE (((tot2.ARTI_NAME)>"F*") and ((tot2.ARTI_NAME)<"Mo*"))
UNION select "Mo-Z"AS eXPR1, tot3.*, TOT3.ARTI_NAME AS NAME1, (select
max(totc.value_of_sale) from LIST_WEEK_WITH_TOT_BUY as totc) as
Max_sale
FROM LIST_WEEK_WITH_TOT_BUY AS tot3
WHERE ((tot3.ARTI_NAME)>"Mo*")
ORDER BY NAME1;

Il me génère une erreur sur le NOM(Table ou requete).* ... Qu'elle est
l'équivalent Windev ?

D'avance merci




Dans mon expérience on ne peut pas utiliser "*" avec plusieurs fichiers.