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

Requête sur 2 tables

1 réponse
Avatar
NewsMic
Bonjour,

A partir d'une table "Adresses", j'ai créé une requête "Anniversaire" pour
sélectionner selon la date de naissance (avec un champ "mois" et un champ
"jour"). Simple, aucun problème.
J'ai une autre table "VentesArticles" qui comprend toutes les lignes de
commandes.
Le lien entre les 2 tables est le numéro de client.
Est'il possible de compléter la requête "Anniversaire" (ou de créer une
autre requête) en y ajoutant le champ "Référence" de la table
"VentesArticles" et en ne renseignant ce champ référence QUE si le client a
déjà reçu la référence "Anniv1" (sinon le champ reste vide) ?

Merci.

NewsMic

1 réponse

Avatar
Fabien
NewsMic wrote:
Bonjour,

A partir d'une table "Adresses", j'ai créé une requête "Anniversaire" pour
sélectionner selon la date de naissance (avec un champ "mois" et un champ
"jour"). Simple, aucun problème.
J'ai une autre table "VentesArticles" qui comprend toutes les lignes de
commandes.
Le lien entre les 2 tables est le numéro de client.
Est'il possible de compléter la requête "Anniversaire" (ou de créer une
autre requête) en y ajoutant le champ "Référence" de la table
"VentesArticles" et en ne renseignant ce champ référence QUE si le client a
déjà reçu la référence "Anniv1" (sinon le champ reste vide) ?

Merci.

NewsMic




Salut,
Avec ces 3 requetes tu devrais avoir ce que tu cherches

On isole les client avec Anniv1
Client avec Anniv1
SELECT Clients.N°Client, Clients.[Nom Client], Clients.[Date de
naissance], Ventesarticles.Reference
FROM Clients INNER JOIN Ventesarticles ON Clients.N°Client =
Ventesarticles.N°client
WHERE (((Ventesarticles.Reference)="Anniv1"));

On compare la liste de tous les clients avec la liste de ceux qui ont
anniv1 et on etabli la liste de ceux qui n'ont pas anniv1
Client sans Anniv1
SELECT Clients.N°Client, Clients.[Nom Client], Clients.[Date de
naissance], [Client avec Anniv1].Reference
FROM Clients LEFT JOIN [Client avec Anniv1] ON Clients.N°Client =
[Client avec Anniv1].N°Client
WHERE ((([Client avec Anniv1].Reference) Is Null));

et enfin on fait l'union des deux listes pour obtenir ceux qui ont anniv
1 et ceux qui ne l'ont pas
Client avec et sans anniv1
SELECT * FROM [Client avec Anniv1]
union
select * from [Client sans anniv1];

A adapter selon tes besoin pour filtrer sur la dante de naissance.
@+