OVH Cloud OVH Cloud

Inner Join avec une base HF

4 réponses
Avatar
Jean Cougnaud
Bonjour,

j'ai la requète suivante :

SELECT DISTINCT CLIENTS.NOM AS Client_Nom,
PARAMETRES_IDNATIONALITE.LIBELLE1_50 AS Client_Nationalite,
PARAMETRES_IDCIVILITE.LIBELLE1_50 AS Client_Civilite
FROM CLIENTS INNER JOIN PARAMETRES PARAMETRES_IDNATIONALITE ON
(CLIENTS.IDNATIONALITE=PARAMETRES_IDNATIONALITE.IDPARAMETRES)
INNER JOIN PARAMETRES PARAMETRES_IDCIVILITE ON
(CLIENTS.IDCIVILITE=PARAMETRES_IDCIVILITE.IDPARAMETRES)


Et j'ai une erreur "mot INNER inattendu".

Ne peut-on pas mettre 2 jointures à suivre avec Windev ? A moins que ce ne
soit une limitation de HF ?

Merci de vos réponses

Cordialement

Jean Cougnaud

4 réponses

Avatar
Manuel Pavy
Oui, moi j ai eu pareil, des que j avais des jointures de plus de deux tables
(inner ou pas inner d ailleurs), tu peux le faire avec les where ou bien tu
passes par un acces natifs sans corrections (dans ce cas, tu gardes le
warning, mais ca tourne)

Manu


Jean Cougnaud a écrit :

Bonjour,

j'ai la requète suivante :

SELECT DISTINCT CLIENTS.NOM AS Client_Nom,
PARAMETRES_IDNATIONALITE.LIBELLE1_50 AS Client_Nationalite,
PARAMETRES_IDCIVILITE.LIBELLE1_50 AS Client_Civilite
FROM CLIENTS INNER JOIN PARAMETRES PARAMETRES_IDNATIONALITE ON
(CLIENTS.IDNATIONALITE=PARAMETRES_IDNATIONALITE.IDPARAMETRES)
INNER JOIN PARAMETRES PARAMETRES_IDCIVILITE ON
(CLIENTS.IDCIVILITE=PARAMETRES_IDCIVILITE.IDPARAMETRES)

Et j'ai une erreur "mot INNER inattendu".

Ne peut-on pas mettre 2 jointures à suivre avec Windev ? A moins que ce ne
soit une limitation de HF ?

Merci de vos réponses

Cordialement

Jean Cougnaud


Avatar
Jean Cougnaud
Merci de ta réponse. En fait on a fait avec des égalités dans le Where et
cela fonctionne.

Jean


"Manuel Pavy" a écrit dans le message de
news:
Oui, moi j ai eu pareil, des que j avais des jointures de plus de deux


tables
(inner ou pas inner d ailleurs), tu peux le faire avec les where ou bien


tu
passes par un acces natifs sans corrections (dans ce cas, tu gardes le
warning, mais ca tourne)

Manu


Jean Cougnaud a écrit :

> Bonjour,
>
> j'ai la requète suivante :
>
> SELECT DISTINCT CLIENTS.NOM AS Client_Nom,
> PARAMETRES_IDNATIONALITE.LIBELLE1_50 AS Client_Nationalite,
> PARAMETRES_IDCIVILITE.LIBELLE1_50 AS Client_Civilite
> FROM CLIENTS INNER JOIN PARAMETRES PARAMETRES_IDNATIONALITE ON
> (CLIENTS.IDNATIONALITE=PARAMETRES_IDNATIONALITE.IDPARAMETRES)
> INNER JOIN PARAMETRES PARAMETRES_IDCIVILITE ON
> (CLIENTS.IDCIVILITE=PARAMETRES_IDCIVILITE.IDPARAMETRES)
>
> Et j'ai une erreur "mot INNER inattendu".
>
> Ne peut-on pas mettre 2 jointures à suivre avec Windev ? A moins que ce


ne
> soit une limitation de HF ?
>
> Merci de vos réponses
>
> Cordialement
>
> Jean Cougnaud



Avatar
mat
Jean Cougnaud wrote:
SELECT DISTINCT CLIENTS.NOM AS Client_Nom,
PARAMETRES_IDNATIONALITE.LIBELLE1_50 AS Client_Nationalite,
PARAMETRES_IDCIVILITE.LIBELLE1_50 AS Client_Civilite
FROM CLIENTS INNER JOIN PARAMETRES PARAMETRES_IDNATIONALITE ON
(CLIENTS.IDNATIONALITE=PARAMETRES_IDNATIONALITE.IDPARAMETRES)
INNER JOIN PARAMETRES PARAMETRES_IDCIVILITE ON
(CLIENTS.IDCIVILITE=PARAMETRES_IDCIVILITE.IDPARAMETRES)


Et j'ai une erreur "mot INNER inattendu".

Ne peut-on pas mettre 2 jointures à suivre avec Windev ? A moins que ce ne
soit une limitation de HF ?



A mon avis c'est un problème de syntaxe. Il faut repeter le fichier de
base et après le bloc mettre une virgule pour séparer les différents
FROM. Le suivant fonctionne chez nous:

"FROM Product RIGHT OUTER JOIN InvoiceDetail ON InvoiceDetail.IDProduct
= Product.IDProduct, "+...
"Invoice INNER JOIN InvoiceDetail ON Invoice.IDInvoice =
InvoiceDetail.IDInvoice, "+...
"Address as Supp RIGHT OUTER JOIN Invoice ON Invoice.IDCustSupp =
Supp.IDAddress, "+...
Avatar
Jean Cougnaud
"mat" a écrit dans le message de
news:4100308c$
Jean Cougnaud wrote:
> SELECT DISTINCT CLIENTS.NOM AS Client_Nom,
> PARAMETRES_IDNATIONALITE.LIBELLE1_50 AS Client_Nationalite,
> PARAMETRES_IDCIVILITE.LIBELLE1_50 AS Client_Civilite
> FROM CLIENTS INNER JOIN PARAMETRES PARAMETRES_IDNATIONALITE ON
> (CLIENTS.IDNATIONALITE=PARAMETRES_IDNATIONALITE.IDPARAMETRES)
> INNER JOIN PARAMETRES PARAMETRES_IDCIVILITE ON
> (CLIENTS.IDCIVILITE=PARAMETRES_IDCIVILITE.IDPARAMETRES)
>
>
> Et j'ai une erreur "mot INNER inattendu".
>
> Ne peut-on pas mettre 2 jointures à suivre avec Windev ? A moins que ce


ne
> soit une limitation de HF ?

A mon avis c'est un problème de syntaxe. Il faut repeter le fichier de
base et après le bloc mettre une virgule pour séparer les différents
FROM. Le suivant fonctionne chez nous:

"FROM Product RIGHT OUTER JOIN InvoiceDetail ON InvoiceDetail.IDProduct
= Product.IDProduct, "+...
"Invoice INNER JOIN InvoiceDetail ON Invoice.IDInvoice > InvoiceDetail.IDInvoice, "+...
"Address as Supp RIGHT OUTER JOIN Invoice ON Invoice.IDCustSupp > Supp.IDAddress, "+...



Bonjour,

Merci de ta réponse. C'est exactement ça : il faut répéter le nom du fichier
principal et mettre une virgule.

Ce qui est perturbant c'est que la requête fonctionnait avec une base MySql
et pas sur les fichiers HF. Nous en avions déduit que c'était un
disfonctionnement sur HF.

Cordialement

Jean