Pour déterminer quels titres de livres ont été achetés par un client lors de l'expédition de la commande, vous devez accéder à au moins trois tables, et probablement plus en fonction de la conception de votre schéma de base de données. Voici une répartition :
Tableaux :
1. Clients : Ce tableau contient des informations sur vos clients. Les champs pertinents peuvent inclure :
* `customer_id` (Clé primaire)
* `customer_name` (ou champ d'identification similaire)
2. Commandes : Ce tableau suit les commandes des clients. Les champs pertinents incluent :
* `order_id` (Clé primaire)
* `customer_id` (Clé étrangère référençant les clients)
* `date_commande`
* `shipping_date` (Indique quand la commande a été expédiée)
3. Order_Items (ou similaire) : Ce tableau détaille les articles inclus dans chaque commande. Les champs pertinents incluent :
* `order_item_id` (clé primaire)
* `order_id` (commandes de référencement de clé étrangère)
* `book_id` (Clé étrangère faisant référence à des livres - voir ci-dessous)
* `quantité` (Nombre d'exemplaires du livre)
4. Livres : Ce tableau contient des informations sur les livres eux-mêmes. Les champs pertinents sont :
* `book_id` (clé primaire)
* `book_title` (Le titre du livre)
Logique de requête :
Vous devrez joindre ces tables à l'aide des clés étrangères pour lier les commandes aux clients et commander les articles aux livres. Le champ `shipping_date` dans la table `Commandes` est crucial pour filtrer les commandes déjà expédiées.
Une requête SQL peut ressembler à ceci (la syntaxe exacte peut varier légèrement en fonction de votre système de base de données spécifique) :
```sql
SÉLECTIONNER
b.book_title
DEPUIS
Clients c
REJOINDRE
Commandes o ON c.customer_id =o.customer_id
REJOINDRE
Order_Items oi ON o.order_id =oi.order_id
REJOINDRE
Livres b ON oi.book_id =b.book_id
OÙ
o.shipping_date N'EST PAS NULL --Assure que la commande a été expédiée
ET c.customer_id =[customer_id] -- Remplacez [customer_id] par l'ID client spécifique
;
```
Cette requête renverrait une liste de « book_title » achetés par un client spécifique dont la commande a une « date d'expédition ». Vous devrez remplacer « [customer_id] » par le « customer_id » réel qui vous intéresse. Si vous voulez tous les clients, omettez la condition d'identification client de la clause « WHERE ». Vous pouvez également ajouter « GROUP BY b.book_title » pour éviter les titres de livres en double si un client a acheté plusieurs exemplaires.
|