Bonjour à tous,
Toujours mes problemes SQL: requetes qui ne me renvoient pas les bonnes
donnees
Voici l'exemple sur lequel "je deviens fou"
Objet: recuperer tous le travaux en cours avec leur article associe (travaux
de reparation sur un article). Precision importante: pour cet exemple, je
teste les travaux de negoce: ceux-ci n'ont pas d'article (L.ARCLEUNIK=0,
d'ou le LEFT OUTER JOIN)
Avec la requete:
select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P,
FAMPRES F,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM =
A.NUMFAM)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
and (F.FPCLEUNIK = P.FPCLEUNIK)
and (F.TYPEPRE = 'N ')
-> aucun tuple retourné
Avec la meme requete sans la double condition dans la jointure externe:
select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P,
FAMPRES F,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
and (F.FPCLEUNIK = P.FPCLEUNIK)
and (F.TYPEPRE = 'N ')
-> me retourne 62 tuples (semble OK)
Plus fort (et pourtant plus simple):
select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM =
A.NUMFAM)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
ne me renvoie que les tuples ayant un article (L.ARCLEUNIK<>0)
et (sans la selection de la prestation travaux L.NUMERO)
select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, L.NUMERO from OL O,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM =
A.NUMFAM)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
me renvoie les bonnes donnes (c'est a dire, meme les travaux negoce ayant
L.ARCLEUNIK=0)
Avez-vous rencontré ce type de problème
Merci à tous.
PS: depuis ce matin version 814m mais essais avec 814j identiques (meme pb)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Dev
Bonjour, question bête : ces requêtes fonctionnent-elles dans un autre environnement que le requeteur Windev ( cutesql par exemple). Question nulle et non avenue si systeme de fichier = HF
-- Cordialement Christophe Charron
Service Développement PROLOGIQ 7 bis Rue des Aulnes 69410 Champagne au Mont d'Or
Tel : 0 437 499 107 Fax : 0 437 499 105 mailto:
"I.G.LOG" a écrit dans le message de news:c7fl5f$114$
Bonjour à tous, Toujours mes problemes SQL: requetes qui ne me renvoient pas les bonnes donnees
Voici l'exemple sur lequel "je deviens fou" Objet: recuperer tous le travaux en cours avec leur article associe
(travaux
de reparation sur un article). Precision importante: pour cet exemple, je teste les travaux de negoce: ceux-ci n'ont pas d'article (L.ARCLEUNIK=0, d'ou le LEFT OUTER JOIN)
Avec la requete:
select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P, FAMPRES F, OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM > A.NUMFAM) where O.TERMINE = 0 and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and L.NUMCONTROLE = O.NUMCONTROLE) and (P.PRCLEUNIK = L.NUMERO) and (F.FPCLEUNIK = P.FPCLEUNIK) and (F.TYPEPRE = 'N ')
-> aucun tuple retourné
Avec la meme requete sans la double condition dans la jointure externe:
select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P, FAMPRES F, OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT) where O.TERMINE = 0 and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and L.NUMCONTROLE = O.NUMCONTROLE) and (P.PRCLEUNIK = L.NUMERO) and (F.FPCLEUNIK = P.FPCLEUNIK) and (F.TYPEPRE = 'N ')
-> me retourne 62 tuples (semble OK)
Plus fort (et pourtant plus simple):
select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, from OL O, PRESTAT P, OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM > A.NUMFAM) where O.TERMINE = 0 and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and L.NUMCONTROLE = O.NUMCONTROLE) and (P.PRCLEUNIK = L.NUMERO)
ne me renvoie que les tuples ayant un article (L.ARCLEUNIK<>0)
et (sans la selection de la prestation travaux L.NUMERO)
select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, L.NUMERO from OL O, OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM > A.NUMFAM) where O.TERMINE = 0 and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and L.NUMCONTROLE = O.NUMCONTROLE)
me renvoie les bonnes donnes (c'est a dire, meme les travaux negoce ayant L.ARCLEUNIK=0)
Avez-vous rencontré ce type de problème Merci à tous.
PS: depuis ce matin version 814m mais essais avec 814j identiques (meme
pb)
Bonjour,
question bête : ces requêtes fonctionnent-elles dans un autre environnement
que le requeteur Windev ( cutesql par exemple). Question nulle et non avenue
si systeme de fichier = HF
--
Cordialement
Christophe Charron
Service Développement
PROLOGIQ
7 bis Rue des Aulnes
69410 Champagne au Mont d'Or
"I.G.LOG" <iglog@free.fr> a écrit dans le message de
news:c7fl5f$114$1@news-reader1.wanadoo.fr...
Bonjour à tous,
Toujours mes problemes SQL: requetes qui ne me renvoient pas les bonnes
donnees
Voici l'exemple sur lequel "je deviens fou"
Objet: recuperer tous le travaux en cours avec leur article associe
(travaux
de reparation sur un article). Precision importante: pour cet exemple, je
teste les travaux de negoce: ceux-ci n'ont pas d'article (L.ARCLEUNIK=0,
d'ou le LEFT OUTER JOIN)
Avec la requete:
select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P,
FAMPRES F,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM > A.NUMFAM)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
and (F.FPCLEUNIK = P.FPCLEUNIK)
and (F.TYPEPRE = 'N ')
-> aucun tuple retourné
Avec la meme requete sans la double condition dans la jointure externe:
select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P,
FAMPRES F,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
and (F.FPCLEUNIK = P.FPCLEUNIK)
and (F.TYPEPRE = 'N ')
-> me retourne 62 tuples (semble OK)
Plus fort (et pourtant plus simple):
select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM > A.NUMFAM)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
ne me renvoie que les tuples ayant un article (L.ARCLEUNIK<>0)
et (sans la selection de la prestation travaux L.NUMERO)
select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, L.NUMERO from OL O,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM > A.NUMFAM)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
me renvoie les bonnes donnes (c'est a dire, meme les travaux negoce ayant
L.ARCLEUNIK=0)
Avez-vous rencontré ce type de problème
Merci à tous.
PS: depuis ce matin version 814m mais essais avec 814j identiques (meme
Bonjour, question bête : ces requêtes fonctionnent-elles dans un autre environnement que le requeteur Windev ( cutesql par exemple). Question nulle et non avenue si systeme de fichier = HF
-- Cordialement Christophe Charron
Service Développement PROLOGIQ 7 bis Rue des Aulnes 69410 Champagne au Mont d'Or
Tel : 0 437 499 107 Fax : 0 437 499 105 mailto:
"I.G.LOG" a écrit dans le message de news:c7fl5f$114$
Bonjour à tous, Toujours mes problemes SQL: requetes qui ne me renvoient pas les bonnes donnees
Voici l'exemple sur lequel "je deviens fou" Objet: recuperer tous le travaux en cours avec leur article associe
(travaux
de reparation sur un article). Precision importante: pour cet exemple, je teste les travaux de negoce: ceux-ci n'ont pas d'article (L.ARCLEUNIK=0, d'ou le LEFT OUTER JOIN)
Avec la requete:
select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P, FAMPRES F, OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM > A.NUMFAM) where O.TERMINE = 0 and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and L.NUMCONTROLE = O.NUMCONTROLE) and (P.PRCLEUNIK = L.NUMERO) and (F.FPCLEUNIK = P.FPCLEUNIK) and (F.TYPEPRE = 'N ')
-> aucun tuple retourné
Avec la meme requete sans la double condition dans la jointure externe:
select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P, FAMPRES F, OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT) where O.TERMINE = 0 and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and L.NUMCONTROLE = O.NUMCONTROLE) and (P.PRCLEUNIK = L.NUMERO) and (F.FPCLEUNIK = P.FPCLEUNIK) and (F.TYPEPRE = 'N ')
-> me retourne 62 tuples (semble OK)
Plus fort (et pourtant plus simple):
select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, from OL O, PRESTAT P, OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM > A.NUMFAM) where O.TERMINE = 0 and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and L.NUMCONTROLE = O.NUMCONTROLE) and (P.PRCLEUNIK = L.NUMERO)
ne me renvoie que les tuples ayant un article (L.ARCLEUNIK<>0)
et (sans la selection de la prestation travaux L.NUMERO)
select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, L.NUMERO from OL O, OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM > A.NUMFAM) where O.TERMINE = 0 and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and L.NUMCONTROLE = O.NUMCONTROLE)
me renvoie les bonnes donnes (c'est a dire, meme les travaux negoce ayant L.ARCLEUNIK=0)
Avez-vous rencontré ce type de problème Merci à tous.
PS: depuis ce matin version 814m mais essais avec 814j identiques (meme
pb)
I.G.LOG
Pour résumer: select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P, OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
where O.TERMINE = 0 and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and L.NUMCONTROLE = O.NUMCONTROLE) and (P.PRCLEUNIK = L.NUMERO) -> fonctionne
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P, OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM A.NUMFAM) where O.TERMINE = 0 and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and L.NUMCONTROLE = O.NUMCONTROLE) and (P.PRCLEUNIK = L.NUMERO) -> ne fonctionne pas ! (pb de jointures externes "chainees")
Pour résumer:
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
-> fonctionne
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM A.NUMFAM)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
-> ne fonctionne pas ! (pb de jointures externes "chainees")
Pour résumer: select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P, OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
where O.TERMINE = 0 and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and L.NUMCONTROLE = O.NUMCONTROLE) and (P.PRCLEUNIK = L.NUMERO) -> fonctionne
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P, OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM A.NUMFAM) where O.TERMINE = 0 and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and L.NUMCONTROLE = O.NUMCONTROLE) and (P.PRCLEUNIK = L.NUMERO) -> ne fonctionne pas ! (pb de jointures externes "chainees")
I.G.LOG
Desole (ai une nouvelle fois oublie de preciser la base: HF7)
"Dev" a écrit dans le message de news:409b599e$0$18530$
Bonjour, question bête : ces requêtes fonctionnent-elles dans un autre
environnement
que le requeteur Windev ( cutesql par exemple). Question nulle et non
avenue
si systeme de fichier = HF
-- Cordialement Christophe Charron
Service Développement PROLOGIQ 7 bis Rue des Aulnes 69410 Champagne au Mont d'Or
Tel : 0 437 499 107 Fax : 0 437 499 105 mailto:
"I.G.LOG" a écrit dans le message de news:c7fl5f$114$ > Bonjour à tous, > Toujours mes problemes SQL: requetes qui ne me renvoient pas les bonnes > donnees > > Voici l'exemple sur lequel "je deviens fou" > Objet: recuperer tous le travaux en cours avec leur article associe (travaux > de reparation sur un article). Precision importante: pour cet exemple,
je
> teste les travaux de negoce: ceux-ci n'ont pas d'article (L.ARCLEUNIK=0, > d'ou le LEFT OUTER JOIN) > > Avec la requete: > > select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P, > FAMPRES F, > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM
> > A.NUMFAM)
> where O.TERMINE = 0 > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and > L.NUMCONTROLE = O.NUMCONTROLE) > and (P.PRCLEUNIK = L.NUMERO) > and (F.FPCLEUNIK = P.FPCLEUNIK) > and (F.TYPEPRE = 'N ') > > -> aucun tuple retourné > > Avec la meme requete sans la double condition dans la jointure externe: > > select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P, > FAMPRES F, > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT) > where O.TERMINE = 0 > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and > L.NUMCONTROLE = O.NUMCONTROLE) > and (P.PRCLEUNIK = L.NUMERO) > and (F.FPCLEUNIK = P.FPCLEUNIK) > and (F.TYPEPRE = 'N ') > > -> me retourne 62 tuples (semble OK) > > Plus fort (et pourtant plus simple): > > select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, from OL O, PRESTAT P, > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM
> > A.NUMFAM)
> where O.TERMINE = 0 > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and > L.NUMCONTROLE = O.NUMCONTROLE) > and (P.PRCLEUNIK = L.NUMERO) > > ne me renvoie que les tuples ayant un article (L.ARCLEUNIK<>0) > > et (sans la selection de la prestation travaux L.NUMERO) > > select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, L.NUMERO from OL O, > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM
> > A.NUMFAM)
> where O.TERMINE = 0 > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and > L.NUMCONTROLE = O.NUMCONTROLE) > > me renvoie les bonnes donnes (c'est a dire, meme les travaux negoce
ayant
> L.ARCLEUNIK=0) > > > Avez-vous rencontré ce type de problème > Merci à tous. > > PS: depuis ce matin version 814m mais essais avec 814j identiques (meme pb) > >
Desole (ai une nouvelle fois oublie de preciser la base: HF7)
"Dev" <wind_seven@prologiq.fr> a écrit dans le message de
news:409b599e$0$18530$afc38c87@news.easynet.fr...
Bonjour,
question bête : ces requêtes fonctionnent-elles dans un autre
environnement
que le requeteur Windev ( cutesql par exemple). Question nulle et non
avenue
si systeme de fichier = HF
--
Cordialement
Christophe Charron
Service Développement
PROLOGIQ
7 bis Rue des Aulnes
69410 Champagne au Mont d'Or
"I.G.LOG" <iglog@free.fr> a écrit dans le message de
news:c7fl5f$114$1@news-reader1.wanadoo.fr...
> Bonjour à tous,
> Toujours mes problemes SQL: requetes qui ne me renvoient pas les bonnes
> donnees
>
> Voici l'exemple sur lequel "je deviens fou"
> Objet: recuperer tous le travaux en cours avec leur article associe
(travaux
> de reparation sur un article). Precision importante: pour cet exemple,
je
> teste les travaux de negoce: ceux-ci n'ont pas d'article (L.ARCLEUNIK=0,
> d'ou le LEFT OUTER JOIN)
>
> Avec la requete:
>
> select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P,
> FAMPRES F,
> OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
> ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM
> > A.NUMFAM)
> where O.TERMINE = 0
> and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
> L.NUMCONTROLE = O.NUMCONTROLE)
> and (P.PRCLEUNIK = L.NUMERO)
> and (F.FPCLEUNIK = P.FPCLEUNIK)
> and (F.TYPEPRE = 'N ')
>
> -> aucun tuple retourné
>
> Avec la meme requete sans la double condition dans la jointure externe:
>
> select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P,
> FAMPRES F,
> OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
> ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT)
> where O.TERMINE = 0
> and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
> L.NUMCONTROLE = O.NUMCONTROLE)
> and (P.PRCLEUNIK = L.NUMERO)
> and (F.FPCLEUNIK = P.FPCLEUNIK)
> and (F.TYPEPRE = 'N ')
>
> -> me retourne 62 tuples (semble OK)
>
> Plus fort (et pourtant plus simple):
>
> select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, from OL O, PRESTAT P,
> OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
> ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM
> > A.NUMFAM)
> where O.TERMINE = 0
> and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
> L.NUMCONTROLE = O.NUMCONTROLE)
> and (P.PRCLEUNIK = L.NUMERO)
>
> ne me renvoie que les tuples ayant un article (L.ARCLEUNIK<>0)
>
> et (sans la selection de la prestation travaux L.NUMERO)
>
> select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, L.NUMERO from OL O,
> OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
> ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM
> > A.NUMFAM)
> where O.TERMINE = 0
> and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
> L.NUMCONTROLE = O.NUMCONTROLE)
>
> me renvoie les bonnes donnes (c'est a dire, meme les travaux negoce
ayant
> L.ARCLEUNIK=0)
>
>
> Avez-vous rencontré ce type de problème
> Merci à tous.
>
> PS: depuis ce matin version 814m mais essais avec 814j identiques (meme
pb)
>
>
Desole (ai une nouvelle fois oublie de preciser la base: HF7)
"Dev" a écrit dans le message de news:409b599e$0$18530$
Bonjour, question bête : ces requêtes fonctionnent-elles dans un autre
environnement
que le requeteur Windev ( cutesql par exemple). Question nulle et non
avenue
si systeme de fichier = HF
-- Cordialement Christophe Charron
Service Développement PROLOGIQ 7 bis Rue des Aulnes 69410 Champagne au Mont d'Or
Tel : 0 437 499 107 Fax : 0 437 499 105 mailto:
"I.G.LOG" a écrit dans le message de news:c7fl5f$114$ > Bonjour à tous, > Toujours mes problemes SQL: requetes qui ne me renvoient pas les bonnes > donnees > > Voici l'exemple sur lequel "je deviens fou" > Objet: recuperer tous le travaux en cours avec leur article associe (travaux > de reparation sur un article). Precision importante: pour cet exemple,
je
> teste les travaux de negoce: ceux-ci n'ont pas d'article (L.ARCLEUNIK=0, > d'ou le LEFT OUTER JOIN) > > Avec la requete: > > select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P, > FAMPRES F, > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM
> > A.NUMFAM)
> where O.TERMINE = 0 > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and > L.NUMCONTROLE = O.NUMCONTROLE) > and (P.PRCLEUNIK = L.NUMERO) > and (F.FPCLEUNIK = P.FPCLEUNIK) > and (F.TYPEPRE = 'N ') > > -> aucun tuple retourné > > Avec la meme requete sans la double condition dans la jointure externe: > > select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT P, > FAMPRES F, > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT) > where O.TERMINE = 0 > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and > L.NUMCONTROLE = O.NUMCONTROLE) > and (P.PRCLEUNIK = L.NUMERO) > and (F.FPCLEUNIK = P.FPCLEUNIK) > and (F.TYPEPRE = 'N ') > > -> me retourne 62 tuples (semble OK) > > Plus fort (et pourtant plus simple): > > select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, from OL O, PRESTAT P, > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM
> > A.NUMFAM)
> where O.TERMINE = 0 > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and > L.NUMCONTROLE = O.NUMCONTROLE) > and (P.PRCLEUNIK = L.NUMERO) > > ne me renvoie que les tuples ayant un article (L.ARCLEUNIK<>0) > > et (sans la selection de la prestation travaux L.NUMERO) > > select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, L.NUMERO from OL O, > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM
> > A.NUMFAM)
> where O.TERMINE = 0 > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and > L.NUMCONTROLE = O.NUMCONTROLE) > > me renvoie les bonnes donnes (c'est a dire, meme les travaux negoce
ayant
> L.ARCLEUNIK=0) > > > Avez-vous rencontré ce type de problème > Merci à tous. > > PS: depuis ce matin version 814m mais essais avec 814j identiques (meme pb) > >
Dev
Désolé alors !!! Je ne connais pas ...
-- Cordialement Christophe Charron
Service Développement PROLOGIQ 7 bis Rue des Aulnes 69410 Champagne au Mont d'Or
Tel : 0 437 499 107 Fax : 0 437 499 105 mailto:
"I.G.LOG" a écrit dans le message de news:c7fmco$cft$
Desole (ai une nouvelle fois oublie de preciser la base: HF7)
"Dev" a écrit dans le message de news:409b599e$0$18530$ > Bonjour, > question bête : ces requêtes fonctionnent-elles dans un autre environnement > que le requeteur Windev ( cutesql par exemple). Question nulle et non avenue > si systeme de fichier = HF > > -- > Cordialement > Christophe Charron > > Service Développement > PROLOGIQ > 7 bis Rue des Aulnes > 69410 Champagne au Mont d'Or > > Tel : 0 437 499 107 > Fax : 0 437 499 105 > mailto: > > "I.G.LOG" a écrit dans le message de > news:c7fl5f$114$ > > Bonjour à tous, > > Toujours mes problemes SQL: requetes qui ne me renvoient pas les
bonnes
> > donnees > > > > Voici l'exemple sur lequel "je deviens fou" > > Objet: recuperer tous le travaux en cours avec leur article associe > (travaux > > de reparation sur un article). Precision importante: pour cet exemple, je > > teste les travaux de negoce: ceux-ci n'ont pas d'article
(L.ARCLEUNIK=0,
> > d'ou le LEFT OUTER JOIN) > > > > Avec la requete: > > > > select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT
P,
> > FAMPRES F, > > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and
C.NUMFAM
> > > A.NUMFAM) > > where O.TERMINE = 0 > > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124
and
> > L.NUMCONTROLE = O.NUMCONTROLE) > > and (P.PRCLEUNIK = L.NUMERO) > > and (F.FPCLEUNIK = P.FPCLEUNIK) > > and (F.TYPEPRE = 'N ') > > > > -> aucun tuple retourné > > > > Avec la meme requete sans la double condition dans la jointure
externe:
> > > > select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT
P,
> > FAMPRES F, > > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT) > > where O.TERMINE = 0 > > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124
and
> > L.NUMCONTROLE = O.NUMCONTROLE) > > and (P.PRCLEUNIK = L.NUMERO) > > and (F.FPCLEUNIK = P.FPCLEUNIK) > > and (F.TYPEPRE = 'N ') > > > > -> me retourne 62 tuples (semble OK) > > > > Plus fort (et pourtant plus simple): > > > > select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, from OL O, PRESTAT
P,
> > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and
C.NUMFAM
> > > A.NUMFAM) > > where O.TERMINE = 0 > > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124
and
> > L.NUMCONTROLE = O.NUMCONTROLE) > > and (P.PRCLEUNIK = L.NUMERO) > > > > ne me renvoie que les tuples ayant un article (L.ARCLEUNIK<>0) > > > > et (sans la selection de la prestation travaux L.NUMERO) > > > > select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, L.NUMERO from OL O, > > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and
C.NUMFAM
> > > A.NUMFAM) > > where O.TERMINE = 0 > > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124
and
> > L.NUMCONTROLE = O.NUMCONTROLE) > > > > me renvoie les bonnes donnes (c'est a dire, meme les travaux negoce ayant > > L.ARCLEUNIK=0) > > > > > > Avez-vous rencontré ce type de problème > > Merci à tous. > > > > PS: depuis ce matin version 814m mais essais avec 814j identiques
(meme
> pb) > > > > > >
Désolé alors !!! Je ne connais pas ...
--
Cordialement
Christophe Charron
Service Développement
PROLOGIQ
7 bis Rue des Aulnes
69410 Champagne au Mont d'Or
"I.G.LOG" <iglog@free.fr> a écrit dans le message de
news:c7fmco$cft$1@news-reader3.wanadoo.fr...
Desole (ai une nouvelle fois oublie de preciser la base: HF7)
"Dev" <wind_seven@prologiq.fr> a écrit dans le message de
news:409b599e$0$18530$afc38c87@news.easynet.fr...
> Bonjour,
> question bête : ces requêtes fonctionnent-elles dans un autre
environnement
> que le requeteur Windev ( cutesql par exemple). Question nulle et non
avenue
> si systeme de fichier = HF
>
> --
> Cordialement
> Christophe Charron
>
> Service Développement
> PROLOGIQ
> 7 bis Rue des Aulnes
> 69410 Champagne au Mont d'Or
>
> Tel : 0 437 499 107
> Fax : 0 437 499 105
> mailto:developpement@prologiq.fr
>
> "I.G.LOG" <iglog@free.fr> a écrit dans le message de
> news:c7fl5f$114$1@news-reader1.wanadoo.fr...
> > Bonjour à tous,
> > Toujours mes problemes SQL: requetes qui ne me renvoient pas les
bonnes
> > donnees
> >
> > Voici l'exemple sur lequel "je deviens fou"
> > Objet: recuperer tous le travaux en cours avec leur article associe
> (travaux
> > de reparation sur un article). Precision importante: pour cet exemple,
je
> > teste les travaux de negoce: ceux-ci n'ont pas d'article
(L.ARCLEUNIK=0,
> > d'ou le LEFT OUTER JOIN)
> >
> > Avec la requete:
> >
> > select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT
P,
> > FAMPRES F,
> > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
> > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and
C.NUMFAM
> > > A.NUMFAM)
> > where O.TERMINE = 0
> > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124
and
> > L.NUMCONTROLE = O.NUMCONTROLE)
> > and (P.PRCLEUNIK = L.NUMERO)
> > and (F.FPCLEUNIK = P.FPCLEUNIK)
> > and (F.TYPEPRE = 'N ')
> >
> > -> aucun tuple retourné
> >
> > Avec la meme requete sans la double condition dans la jointure
externe:
> >
> > select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT
P,
> > FAMPRES F,
> > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
> > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT)
> > where O.TERMINE = 0
> > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124
and
> > L.NUMCONTROLE = O.NUMCONTROLE)
> > and (P.PRCLEUNIK = L.NUMERO)
> > and (F.FPCLEUNIK = P.FPCLEUNIK)
> > and (F.TYPEPRE = 'N ')
> >
> > -> me retourne 62 tuples (semble OK)
> >
> > Plus fort (et pourtant plus simple):
> >
> > select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, from OL O, PRESTAT
P,
> > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
> > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and
C.NUMFAM
> > > A.NUMFAM)
> > where O.TERMINE = 0
> > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124
and
> > L.NUMCONTROLE = O.NUMCONTROLE)
> > and (P.PRCLEUNIK = L.NUMERO)
> >
> > ne me renvoie que les tuples ayant un article (L.ARCLEUNIK<>0)
> >
> > et (sans la selection de la prestation travaux L.NUMERO)
> >
> > select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, L.NUMERO from OL O,
> > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
> > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and
C.NUMFAM
> > > A.NUMFAM)
> > where O.TERMINE = 0
> > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124
and
> > L.NUMCONTROLE = O.NUMCONTROLE)
> >
> > me renvoie les bonnes donnes (c'est a dire, meme les travaux negoce
ayant
> > L.ARCLEUNIK=0)
> >
> >
> > Avez-vous rencontré ce type de problème
> > Merci à tous.
> >
> > PS: depuis ce matin version 814m mais essais avec 814j identiques
Service Développement PROLOGIQ 7 bis Rue des Aulnes 69410 Champagne au Mont d'Or
Tel : 0 437 499 107 Fax : 0 437 499 105 mailto:
"I.G.LOG" a écrit dans le message de news:c7fmco$cft$
Desole (ai une nouvelle fois oublie de preciser la base: HF7)
"Dev" a écrit dans le message de news:409b599e$0$18530$ > Bonjour, > question bête : ces requêtes fonctionnent-elles dans un autre environnement > que le requeteur Windev ( cutesql par exemple). Question nulle et non avenue > si systeme de fichier = HF > > -- > Cordialement > Christophe Charron > > Service Développement > PROLOGIQ > 7 bis Rue des Aulnes > 69410 Champagne au Mont d'Or > > Tel : 0 437 499 107 > Fax : 0 437 499 105 > mailto: > > "I.G.LOG" a écrit dans le message de > news:c7fl5f$114$ > > Bonjour à tous, > > Toujours mes problemes SQL: requetes qui ne me renvoient pas les
bonnes
> > donnees > > > > Voici l'exemple sur lequel "je deviens fou" > > Objet: recuperer tous le travaux en cours avec leur article associe > (travaux > > de reparation sur un article). Precision importante: pour cet exemple, je > > teste les travaux de negoce: ceux-ci n'ont pas d'article
(L.ARCLEUNIK=0,
> > d'ou le LEFT OUTER JOIN) > > > > Avec la requete: > > > > select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT
P,
> > FAMPRES F, > > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and
C.NUMFAM
> > > A.NUMFAM) > > where O.TERMINE = 0 > > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124
and
> > L.NUMCONTROLE = O.NUMCONTROLE) > > and (P.PRCLEUNIK = L.NUMERO) > > and (F.FPCLEUNIK = P.FPCLEUNIK) > > and (F.TYPEPRE = 'N ') > > > > -> aucun tuple retourné > > > > Avec la meme requete sans la double condition dans la jointure
externe:
> > > > select O.OLCLEUNIK, F.TYPEPRE, A.NUMCAT, A.NUMFAM from OL O, PRESTAT
P,
> > FAMPRES F, > > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT) > > where O.TERMINE = 0 > > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124
and
> > L.NUMCONTROLE = O.NUMCONTROLE) > > and (P.PRCLEUNIK = L.NUMERO) > > and (F.FPCLEUNIK = P.FPCLEUNIK) > > and (F.TYPEPRE = 'N ') > > > > -> me retourne 62 tuples (semble OK) > > > > Plus fort (et pourtant plus simple): > > > > select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, from OL O, PRESTAT
P,
> > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and
C.NUMFAM
> > > A.NUMFAM) > > where O.TERMINE = 0 > > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124
and
> > L.NUMCONTROLE = O.NUMCONTROLE) > > and (P.PRCLEUNIK = L.NUMERO) > > > > ne me renvoie que les tuples ayant un article (L.ARCLEUNIK<>0) > > > > et (sans la selection de la prestation travaux L.NUMERO) > > > > select O.OLCLEUNIK, O.TYPEPRE, A.NUMCAT, A.NUMFAM, L.NUMERO from OL O, > > OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK), > > ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and
C.NUMFAM
> > > A.NUMFAM) > > where O.TERMINE = 0 > > and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124
and
> > L.NUMCONTROLE = O.NUMCONTROLE) > > > > me renvoie les bonnes donnes (c'est a dire, meme les travaux negoce ayant > > L.ARCLEUNIK=0) > > > > > > Avez-vous rencontré ce type de problème > > Merci à tous. > > > > PS: depuis ce matin version 814m mais essais avec 814j identiques