Bonjour,
je suis calé sur un petit problème de réflexion.
Voici mon schéma de tables
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 table CLIENT (NCLI char(4) not null, NOM varchar(12) not null, ADRESSE varchar(20) not null, LOCALITE varchar(12) not null, CAT char(2), COMPTE decimal(9,2) not null, primary key (NCLI)); table PRODUIT (NPRO char(5) not null, LIBELLE varchar(20) not null, PRIX decimal(5,0) not null, QSTOCK decimal(6,0) not null, primary key (NPRO)); table COMMANDE (NCOM char(5) not null, NCLI char(4) not null, DATECOM date not null, primary key (NCOM), foreign key (NCLI) references CLIENT); table DETAIL (NCOM char(5) not null, NPRO char(5) not null, QCOM decimal(4,0) not null, primary key (NCOM,NPRO), foreign key (NCOM) references COMMANDE, foreign key (NPRO) references PRODUIT);
j'ai quelques requêtes à effectuer,
notamment:
4.19 Afficher le numéro et le libellé des produits en sapin :
A. Qui ne sont pas commandés
pas trop de soucis:
B. Qui ont été commandés à Toulouse
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT LIBELLE FROM PRODUIT WHERE NPRO NOT IN(SELECT NPRO FROM DETAIL) AND LIBELLE like '%SAPIN%'
C. Qui n'ont été commandés qu'à Toulouse
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT LIBELLE FROM PRODUIT WHERE NPRO IN(SELECT NPRO FROM DETAIL where NCOM IN(SELECT NCOM FROM COMMANDE WHERE NCLI IN(SELECT NCLI FROM CLIENT WHERE LOCALITE LIKE 'Toulouse'))) AND LIBELLE LIKE '%SAPIN%'
là je sèche...je sais qu'il va y avoir probablement un distinct en plus par rapport à au-dessus mais je ne vois pas trop
j'avais pensé à
mais ça me donne la même chose qu'au-dessus ce qui est logique en fait vu que c'est la contraposée ( -_- )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT LIBELLE FROM PRODUIT where NPRO in(SELECT NPRO FROM DETAIL where NCOM in (SELECT NCOM FROM COMMANDE WHERE NCLI not in (SELECT NCLI FROM CLIENT WHERE LOCALITE not like 'Toulouse'))) AND LIBELLE like '%SAPIN%'
Si vous pouviez m'éclaircir...un grand merci
Partager