salut ,

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
 
create table fabricant(
	numf	number(15),
	nomf	varchar2(15),
	adrf	varchar2(50),
	telf	number(15),
constraint fab_pk primary key (numf));
 
create table produit(
	nump	number(15),
	nomp	varchar2(15),
constraint prod_pk primary key (nump));
 
create table article(
	numserie	number(15),
	nump		number(15),
	numf		number(15),
	qte		number(20),
	prixfab		number(15),
	prixvente	number(15),
	check(prixvente <= 1.5 * prixfab),
constraint article_pk primary key (numserie),
constraint art_prod_fk	foreign key (nump) references produit (nump),
constraint art_fab_fk	foreign key (numf) references fabricant (numf));
 
create table client(
	numc	number(15),
	nomc	varchar2(15),
	adrc	varchar2(30),
	telc	number(15),
constraint client_pk primary key (numc));
 
create table commande(
	numcde	number(15),
	numc	number(15),
	datecde	date,
constraint cde_pk primary key (numcde),
constraint cde_client_fk foreign key (numc) references client (numc));
 
create table lignecde(
	numcde		number(15),
	numserie	number(15),
	qte		number(15),
constraint lcde_pk primary key (numcde,numserie));
j'ai ces tables suivant . il me reste deux questions sql que je ne les sait faire . la premiere est de trouver : " trouver la liste de fabricant pour lequels le totale de ventes des produits est superieure a la moyenne des totaux ventes des fabricant"
ceci mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
select distinct f.numf , f.nomf , f.telf ,f.adrf
from fabricant f , article a1 , article a2 , produit p 
where f.numf=a1.numf and p.nump=a2.nump 
group by f.numf , f.nomf ,f.telf , f.adrf 
having avg (a1.prixfab) < sum (a2.prixvente)
et la seconde est : " pour chaque produit sortir le fabricant qui l 'offre l'article le moin cher "

merci d'avance .