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

SQL - réponse pour ARTCONST

12 réponses
Avatar
farplus
Bonjour,

je vien de lire une demande d'aide
soit:

J'ai une table ARTCONST qui contient les constituants ET les
equivalences
d'une ensemble d'article.
Sa structure est:
ENSEMBLE entier (clé primaire - identifiant de l'ensemble)
ARCLEUNIK entier (clé - identifiant d'article)
NUMERO entier (clé - identifiant d'article)
Ces trois clés sont les identifiants du fichier ARTICLES (clé primaire
ARCLEUNIK)

La table ARTICLES:
ARCLEUNIK entier (clé primaire)
DESIGNATION chaine
etc...


La clé ENSEMBLE est l'identifiant de l'ensemble (l'article)
le couple ENSEMBLE - ARCLEUNIK donne le constituant de l'ensemble
le triplet ENSEMBLE - ARCLEUNIK - NUMERO donne l'article equivalent au
couple ENSEMBLE-ARCLEUNIK (si NUMERO=0, c'est l'article constituant
standard)

Voici ma requete qui plante "erreur d'initialisation de la requete"
puis
erreur "70208":

select ARTCONST.ARCLEUNIK, ARTCONST.NUMERO, ARTCONST.NUMCONST,
ARTCONST.QTE,
ARTCONST.SYSTEMATIQUE, ARTCONST.TERMINE,
rtrim(ARTICLES.ABRCONST)+'-'+ARTICLES.REFCONST as Reference,
ARTICLES.DESIGNATION,
rtrim(EQUIVAL.ABRCONST)+'-'+EQUIVAL.REFCONST as EquReference,
EQUIVAL.DESIGNATION as EquDESIGNATION
from ARTCONST ARTCONST, ARTICLES ARTICLES,
ARTCONST left outer join ARTICLES EQUIVAL on EQUIVAL.ARCLEUNIK =
ARTCONST.NUMERO
where (ARTCONST.ENSEMBLE = {pNumEns})
and (ARTICLES.ARCLEUNIK = ARTCONST.ARCLEUNIK)
order by NUMCONST desc, SYSTEMATIQUE, Reference, EquReference

Il semblerait que la jointure double sur la table ARTICLES (inner join
+
outer join) ne soit pas possible. Pourtant, l'éditeur de requete ne
rejète
pas cette syntaxe.

Si vous avez une solution...
Merci à tous

et je ne la retrouve plus... Disparue ...

Bien, si la personne concernée me lit voici quelques remarques:

Pour t'aider il faudrait avoir ton code complet, or je ne trouve pas
trace de beaucoup de descriptions notamment de ton Inner join ...
Tu peux le mettre comme pièce annexe...
Mais avant de te lancer dans un grand machin recherche plutôt dans ton
indirection {pNumEns}: écrit lsNumEns est une
chaine=Numériqueverschaine(pNumEns)
et tiens nous au courant

A+

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

2 réponses

1 2
Avatar
farplus
I.G.LOG vient de nous annoncer :
Nouvelle information !

Avec la requete suivante:

select ARTCONST.ARCLEUNIK, ARTCONST.NUMERO, ARTCONST.NUMCONST, ARTCONST.QTE,
ARTCONST.SYSTEMATIQUE, ARTCONST.TERMINE, ARTCONST.OBSERV,
rtrim(ARTICLES.ABRCONST)+'-'+ARTICLES.REFCONST as Reference,
ARTICLES.DESIGNATION,
rtrim(EQUIVAL.ABRCONST)+'-'+EQUIVAL.REFCONST as EquReference,
EQUIVAL.DESIGNATION as EquDESIGNATION
from ARTCONST ARTCONST left outer join ARTICLES EQUIVAL on EQUIVAL.ARCLEUNIK
= ARTCONST.NUMERO, ARTICLES ARTICLES
where (ARTCONST.ENSEMBLE = 3656)
and (ARTICLES.ARCLEUNIK = ARTCONST.ARCLEUNIK)
order by NUMCONST desc, SYSTEMATIQUE, Reference, EquReference

Je n'ai fait qu'inverser l'ordre de déclaration ARTCONST - ARTICLES (au lieu
de "from ARTICLES ARTICLES, ARTCONST ARTCONST left outer join ARTICLES
EQUIVAL on EQUIVAL.ARCLEUNIK = ARTCONST.NUMERO", message "erreur d'init de
la requete" puis "70208" !!! (soit le même message que sur ma requete
intiale !)




est-ce que ça marcherait:

from ARTCONST ARTCONST left outer join ARTICLES ARTICLES on
ARTICLES.ARCLEUNIK
= ARTCONST.NUMERO



?
A+

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com







--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avatar
I.G.LOG
Oui mais ne me retourne pas les bonnes valeurs. En plus la requete met 4,50
sec à s'exécuter

"farplus" a écrit dans le message de
news:
I.G.LOG vient de nous annoncer :
> Nouvelle information !
>
> Avec la requete suivante:
>
> select ARTCONST.ARCLEUNIK, ARTCONST.NUMERO, ARTCONST.NUMCONST,


ARTCONST.QTE,
> ARTCONST.SYSTEMATIQUE, ARTCONST.TERMINE, ARTCONST.OBSERV,
> rtrim(ARTICLES.ABRCONST)+'-'+ARTICLES.REFCONST as Reference,
> ARTICLES.DESIGNATION,
> rtrim(EQUIVAL.ABRCONST)+'-'+EQUIVAL.REFCONST as EquReference,
> EQUIVAL.DESIGNATION as EquDESIGNATION
> from ARTCONST ARTCONST left outer join ARTICLES EQUIVAL on


EQUIVAL.ARCLEUNIK
> = ARTCONST.NUMERO, ARTICLES ARTICLES
> where (ARTCONST.ENSEMBLE = 3656)
> and (ARTICLES.ARCLEUNIK = ARTCONST.ARCLEUNIK)
> order by NUMCONST desc, SYSTEMATIQUE, Reference, EquReference
>
> Je n'ai fait qu'inverser l'ordre de déclaration ARTCONST - ARTICLES (au


lieu
> de "from ARTICLES ARTICLES, ARTCONST ARTCONST left outer join ARTICLES
> EQUIVAL on EQUIVAL.ARCLEUNIK = ARTCONST.NUMERO", message "erreur d'init


de
> la requete" puis "70208" !!! (soit le même message que sur ma requete
> intiale !)
>

est-ce que ça marcherait:

from ARTCONST ARTCONST left outer join ARTICLES ARTICLES on
ARTICLES.ARCLEUNIK
> = ARTCONST.NUMERO

?
A+
>>>
>>> --
>>> Ceci est une signature automatique de MesNews.
>>> Site : http://mesnews.no-ip.com

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com



1 2