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

Help me requete (suite)

5 réponses
Avatar
André
Bonjour à tous
grace à une autre discussion sur ce site, j'ai compris qu'il fallait mettre
les 2 feuilles excel dans le mm classeur et leur délimiter un nom
correspondant à la zone de travail...

miracle ça marche enfin et j'arrive dans query..

par contre query semble très parsimonieux et je n'arrive pas à obtenir la
requete souhaitée... le langage n'est pas explicité et ne correspond pas à
celui que je connais de dbase iv sql qui fonctionnait avec Q+E

Mon prb est le suivant
table 1
NOM PRENOM
dupont andré
duval Robert
durand pierre


table 2
dupont Jean
durand pierre
dubois rené

je voudrais récuperer
dupont andré
dupont jean
duval robert

c'est à dire les lignes(enregistrements) qui sont différentes dans les 2
tables (ici seul durand pierre est identique.. c'est le contraire d'une
intersection.."not exists" en dbase iv mais en langage query ???

merci à qui pourra me composer la requete
--
André

5 réponses

Avatar
Eric
Bonjour André,

As-tu essayé avec une requête Union basée sur 2 requêtes faisant appel à
l'opérateur Not In du genre :

SELECT nom, prenom
FROM `C:Documents and SettingsXXXMes documentsNGXL`.table2 table2
where Nom+Prenom not in (select Nom+Prenom from `C:Documents and
SettingsXXXMes documentsNGXL`.table1 table1)
UNION
SELECT nom, prenom
FROM `C:Documents and SettingsXXXMes documentsNGXL`.table1 table1
where Nom+Prenom not in (select Nom+Prenom from `C:Documents and
SettingsXXXMes documentsNGXL`.table2 table2)


A+
Eric

Bonjour à tous
grace à une autre discussion sur ce site, j'ai compris qu'il fallait mettre
les 2 feuilles excel dans le mm classeur et leur délimiter un nom
correspondant à la zone de travail...

miracle ça marche enfin et j'arrive dans query..

par contre query semble très parsimonieux et je n'arrive pas à obtenir la
requete souhaitée... le langage n'est pas explicité et ne correspond pas à
celui que je connais de dbase iv sql qui fonctionnait avec Q+E

Mon prb est le suivant
table 1
NOM PRENOM
dupont andré
duval Robert
durand pierre


table 2
dupont Jean
durand pierre
dubois rené

je voudrais récuperer
dupont andré
dupont jean
duval robert

c'est à dire les lignes(enregistrements) qui sont différentes dans les 2
tables (ici seul durand pierre est identique.. c'est le contraire d'une
intersection.."not exists" en dbase iv mais en langage query ???

merci à qui pourra me composer la requete


Avatar
Eric
re,

Je t'ai mis ici un dossier avec 2 classeurs faisant ce que tu demandes.
Copies les fichiers à la racine de C: car dans la requête les chemins
sont figés.

http://cjoint.com/?cBpiFAmqbo

PS : Valides le msg d'erreur à l'ouverture de la requête en mode
modification dans le fichier NGXLQuery, tu auras le sql (msg dû au fait
que les requêtes UNION ne sont pas représentables dans l'interface
graphique)

A+
Eric
Avatar
André
Merci eric, je vais^pomper le fichier et regarder ça mais ce n'est pas d'une
union dont j'ai besoin mais d'un reste d'une intersestion... (ce qui n'est
pas commun à fichier 1 et fichier 2)
ton aide sera toujours la bienvenue...

andré

"Eric" wrote:

re,

Je t'ai mis ici un dossier avec 2 classeurs faisant ce que tu demandes.
Copies les fichiers à la racine de C: car dans la requête les chemins
sont figés.

http://cjoint.com/?cBpiFAmqbo

PS : Valides le msg d'erreur à l'ouverture de la requête en mode
modification dans le fichier NGXLQuery, tu auras le sql (msg dû au fait
que les requêtes UNION ne sont pas représentables dans l'interface
graphique)

A+
Eric



Avatar
Eric
Bonsoir André,

Je crois que tu veux recuperer que les enregistrements non communs aux 2
tables. Donc mon idée est de prendre dans Table1 les enregistrements non
présents dans table2 avec lesquels je fais une UNION sur les
enregistrements de table2 non présents dans Table1 ce qui revient à faire :

R = T1 UNION T2 - T1 INTERSECT T2

Je me trompe ?

N'étant pas sur que INTERSECT existe sous QBE, j'ai procédé de cette
manière.

SELECT nom, prenom
FROM Table1
WHERE nom+Prenom NOT IN (
SELECT nom+prenom from Table2)
UNION
SELECT nom, prenom
FROM Table2
WHERE Nom+Prenom NOT IN (
SELECT nom+prenom from Table1)



A+
Eric

Merci eric, je vais^pomper le fichier et regarder ça mais ce n'est pas d'une
union dont j'ai besoin mais d'un reste d'une intersestion... (ce qui n'est
pas commun à fichier 1 et fichier 2)
ton aide sera toujours la bienvenue...

andré

"Eric" wrote:


re,

Je t'ai mis ici un dossier avec 2 classeurs faisant ce que tu demandes.
Copies les fichiers à la racine de C: car dans la requête les chemins
sont figés.

http://cjoint.com/?cBpiFAmqbo

PS : Valides le msg d'erreur à l'ouverture de la requête en mode
modification dans le fichier NGXLQuery, tu auras le sql (msg dû au fait
que les requêtes UNION ne sont pas représentables dans l'interface
graphique)

A+
Eric





Avatar
André
Merci Eric, ça devrait me satisfaire beaucoup mieux, j'essaierai demain car
maintenant ma femme m'apelle pour diner... C'est ça la liberté... Il faut
dire que je passe plus de temps devant l'ordinateur qu'avec elle... mais à 65
ans...

encore merci Eric

a plus


Bonsoir André,

Je crois que tu veux recuperer que les enregistrements non communs aux 2
tables. Donc mon idée est de prendre dans Table1 les enregistrements non
présents dans table2 avec lesquels je fais une UNION sur les
enregistrements de table2 non présents dans Table1 ce qui revient à faire :

R = T1 UNION T2 - T1 INTERSECT T2

Je me trompe ?

N'étant pas sur que INTERSECT existe sous QBE, j'ai procédé de cette
manière.

SELECT nom, prenom
FROM Table1
WHERE nom+Prenom NOT IN (
SELECT nom+prenom from Table2)
UNION
SELECT nom, prenom
FROM Table2
WHERE Nom+Prenom NOT IN (
SELECT nom+prenom from Table1)



A+
Eric

Merci eric, je vais^pomper le fichier et regarder ça mais ce n'est pas d'une
union dont j'ai besoin mais d'un reste d'une intersestion... (ce qui n'est
pas commun à fichier 1 et fichier 2)
ton aide sera toujours la bienvenue...

andré

"Eric" wrote:


re,

Je t'ai mis ici un dossier avec 2 classeurs faisant ce que tu demandes.
Copies les fichiers à la racine de C: car dans la requête les chemins
sont figés.

http://cjoint.com/?cBpiFAmqbo

PS : Valides le msg d'erreur à l'ouverture de la requête en mode
modification dans le fichier NGXLQuery, tu auras le sql (msg dû au fait
que les requêtes UNION ne sont pas représentables dans l'interface
graphique)

A+
Eric