iconeaccess.gif (2009 octets)

Ca sert à quoi, les requêtes UNION ?

Un exemple tout simple de requête UNION est la concaténation (mettre sensemble) de deux tables. Le résultat est surprenant...

Par exemple, vous avez deux tables :

Une table T_Client :

NomClient
Michel
André
Yves

et, d'autre part, sans relation aucune avec les clients, une table T_Ami :

NomAmi
Bernard
Saturnin
Noémie

et vous aimeriez obtenir le résultat suivant (tout le monde dans un seul tableau) :

ToutLeMonde
Michel
André
Yves
Bernard
Saturnin
Noémie

Pour celà, il va falloir utiliser une requête UNION... Le hic, c'est qu'une requête UNION ne PEUT PAS se représenter comme une requête simple ou on fait glisser les champs... il faut l'écrire en mode SQL... Comment faire...

Ce n'est pas si compliqué : Voici la marche à suivre.

- Vous créez une requête, toute simple, avec seulement la table T_Client. Vous glissez le champ NomClient
- Vous allez Dans Affichage/Mode SQL
Vous avez :

SELECT T_Client.NomClient
FROM T_Client;

Sélectionnez ce texte, et faites Edition/Copier

- Vous créez une deuxième requête, toute simple, avec seulement la table T_Ami. Vous glissez le champ NomAmi
- Vous allez Dans Affichage/Mode SQL
Vous avez :

SELECT T_Client.NomAmi
FROM T_Ami;

- Cliquez à la fin du texte
- Enlevez le ;
- Faites ENTER
- Faites Edition/Coller

Vous devriez alors abtenir ceci :

SELECT T_Client.NomClient
FROM T_Client
SELECT T_Client.NomAmi
FROM T_Ami;

Ajoutez UNION ici :

SELECT T_Client.NomClient
FROM T_Client
UNION
SELECT T_Client.NomAmi
FROM T_Ami;

Et voilà. Vous pouvez maintenant aller dans Affichage/Mode feuille de données, et vous avez le contenu des deux tables comme ceci :

NomClient
Michel
André
Yves
Bernard
Saturnin
Noémie

La requête UNION ne peut plus se représenter en mode création (normal). Vous pouvez seulement voir le mode SQL, ou les résultats de la requête.

Sauvegardez cette requête sous R_Union, et quittez-là : Voyez comme l'icône qui la représente est particulière....