IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Deux requêtes sql [10g]


Sujet :

SQL Oracle

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Deux requêtes sql
    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 .

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    " trouver la liste de fabricant pour lequels le totale de ventes des produits est superieure a la moyenne des totaux ventes des fabricant"
    Je ne vais pas fournir le code, mais une aide pour comprendre comment coder ça
    Pour ce cas :
    1/ Faire une requête qui renvoie "moyenne des totaux ventes des fabricants"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT avg(..) from table_fabricant
    2/ Faire une requête pour donner par fabricant le total des ventes des produits
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT fabricant, sum(vente_produit) from ... group by fabricant
    3/ Combiner les 2 avec un having
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT fabricant, sum(vente_produit) from ... group by fabricant having sum(vente_produit) > (première requete)

    pour chaque produit sortir le fabricant qui l 'offre l'article le moin cher
    Et là, j'ai envie de baffer le prof : Si un produit n'a pas de fabriquant ? Si plusieurs fabricants offrent le même prix le moins cher ?
    Plusieurs solutions, la plus simple à coder est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select de chaque produit-fabricant-prix A
    where not exists (select 1 from fabricant-prix de ce produit avec un prix < prix de A)
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Soustraction des résultats des deux requêtes sql en access
    Par samsamo dans le forum Requêtes et SQL.
    Réponses: 31
    Dernier message: 24/09/2011, 03h18
  2. regrouper deux requêtes sql en un seul
    Par eddjalal dans le forum Développement
    Réponses: 0
    Dernier message: 14/01/2011, 15h47
  3. Deux requêtes SQL en une
    Par lionrouge dans le forum SQL
    Réponses: 6
    Dernier message: 18/11/2010, 08h51
  4. [SQL] Deux requêtes SQL sur le même formulaire
    Par amazircool dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 18/02/2007, 02h23
  5. exécuter deux requêtes SQL à partir d'un bouton de commande
    Par Platon93 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/12/2006, 17h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo