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

Langage SQL Discussion :

Requetes sur tables multiples ! Pour les 'gurus'


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Requetes sur tables multiples ! Pour les 'gurus'
    Bonjour,
    Je m'entraine en sql, j'ai bien avancé jusqu'ici, mais certaines requetes m'embètent.Il ya certains concepts que je n'arrive pas à saisir.Je vous donne les tables que j'ai créé et les requetes qui me dérangent ensuite je vous dirait pourquoi j'y arrive pas.J'espère juste tomber sur des pros.
    Voici les tables:

    Table COLLECTIONS
    CODE_COLLECTION Entier CP
    NOM_COLLECTION Caractère 30 Non NULL
    CODE_EDITIONS Entier CE

    Table EDITIONS
    CODE_EDITIONS Entier CP
    NOM_EDITIONS Caractère 50 Unique, non NULL
    ADRESSE_EDITIONS Caractère 100
    CODE_POSTAL Entier Non NULL
    NOM_VILLE Caractère 30
    NOMBRE_EMPLOYES Entier Positif
    EMAIL_CONTACT Caractère 50
    CREATION Entier
    THEME Caractère 30

    Table AUTEURS
    NUM_AUTEUR Entier CP
    NOM_AUTEUR Caractère 25 Non NULL
    PRENOM_AUTEUR Caractère 25
    AGE Entier > à 15
    NATIONALITE Caractère 15 «Inconnue» par défaut

    Table LIVRES
    CODE_LIVRE Entier CP
    TITRE Caractère 100 Non NULL
    ISBN Caractère 13
    GENRE Caractère 20 NULL par défaut
    PRIX Décimal 4,2 Positif
    FORMAT_POCHE Caractère 1 ‘N’ par défaut
    DEPOT_LEGAL Date Non NULL | date du jour par
    DATE_IMPRESSION Date Non NULL | date du jour par
    LANGUE Caractère 15 Non NULL
    CODE_COLLECTION Entier CE

    Table ECRIT_PAR
    CODE_LIVRE Entier CP / CE
    NUMERO_AUTEUR Entier CP / CE
    ANNEE Entier > à 1500

    Table ENTREPOSE
    CODE_LIVRE Entier CP / CE
    CODE_ENTREPOT Entier CP / CE
    QUANTITE_STOCK Entier Non NULL, positif ou nul
    DATE_MODIFICATION Date
    NOM_EMPLOYE Caractère 25 « Inconnu » par défaut

    Table IMPRIME
    CODE_COLLECTION Entier CP / CE
    CODE_IMPRIMEUR Entier CP / CE

    Table ENTREPOTS
    CODE_ENTREPOT Entier CP
    NOM_VILLE Caractère 25
    CODE_POSTAL Entier Non NULL
    CODE_EDITIONS Entier CE

    Table IMPRIMEURS
    CODE_IMPRIMEUR Entier CP
    NOM_IMPRIMEUR Caractère 30 Non NULL
    ADRESSE_SIEGE Caractère 150 NULL par défaut
    CODE_POSTAL Entier
    VILLE Caractère 25
    NB_IMPRIMERIES Entier 1 par défaut

    Premiere question:
    Donnez chaque paire de codes de livres de la table LIVRE ayant le même numéro d'entrepôt dans la
    table ENTREPOSE.

    deuxième question(Celle qui m'aidera à comprendre plein de chose)
    Trouvez le titre du livre, le nom de l'auteur, la quantité en stock, le nom des éditions et de lacollection pour chaque livre de la maison d'édition n°14.
    Please!Détaillez la réponse.

    En fait ce qui me dérange, c'est que toutes ces tables sont liés entre elles par des clés...OK la aucun problème tout va bien.Pour trouver la correspondance entre les tables ,il suffit de passer de clé en clé.Comment faire des requettes entre n'importe quelles tables ?Supposons deux tables qui entre elles se trouvent 5 autres tables toutes liés par des clés, comment faire des requettes entre ces tables ?

    Béni soit celui qui m'éclaire sur cette question !

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Commencez par respecter les règles du forums notamment en postant vos description sous forme d'ordre DDL (CREAT TABLE ...)

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonsoir,

    Ormis la réponse de SQLpro, sans les balises codes on n'y voit plus rien au bout de 30 secondes... Merci de modifier ton post !

    Après 1/ (Heu!!! J'aurais besoin de ton aide SQLpro ):
    Et oui ECRIT_PAR et ENTREPOSE sont vraiment des tables ou tes relations (Les jointures doivent passer par trois tables non ? Là je suis en pleine réflexion !!! Et l'arborescence des jointures c'est pas mon truc) Bref :

    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
     
    SELECT
             LIVRES.TITRE
           , AUTEUR.NOM_AUTEUR
           , ENTREPOSE.QUANTITE_STOCK
           , EDITIONS.NOMS_EDITIONS
           , COLLECTION.NOM_COLLECTION
    FROM
           /* J'suis perdu... */
           ((ENTREPOSE INNER JOIN LIVRES
                             ON ENTREPOSE.CODE_LIVRE = LIVRE.CODE_LIVRE)
                                 INNER JOIN ENTREPOTS
                                 ON ENTREPOSE.CODE_ENTREPOT = ENTREPOTS.CODE_ENTREPOTS)
            INNER JOIN ECRIT_PAR
                 INNER JOIN AUTEUR
            ON LIVRES.CODE_LIVRE = ECRIT_PAR.CODE_LIVRE
            AND ECRIT_PAR.NUMERO_AUTEUR = AUTEUR.NUMERO_AUTEUR 
                    INNER JOIN COLLECTIONS
                    ON LIVRES.CODE_COLLECTION = COLLECTIONS.CODE_COLLECTION
                         INNER JOIN EDITIONS
                         ON COLLECTIONS.CODE_EDITIONS = EDITIONS.CODE_EDITIONS
    WHERE
             EDITIONS.CODE_EDITION =`14`
    ;
    J'ai du me rater quelque part mais où ??? (Je vois plus clair )

    2/
    Supposons deux tables qui entre elles se trouvent 5 autres tables toutes liés par des clés, comment faire des requettes entre ces tables ?
    Malheureusement ...
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Désolé, le shéma DDL comme tu dis sqlpro , j'ai pas compris.Je vais m'y mettre et voire comment ca se fait.Ca ne doit pas etre bien compliqué.Et chtulus, je pense qu'on a les meme problèmes.On se perd.
    SQLpro, si tu sais quelque chose éclaire nous s'il te plait

  5. #5
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Salut,

    Je savait bien que j'avais vu quelque chose sur les arborescences de jointure:
    Tiens

    Bonne journée
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Citation Envoyé par bandicoq Voir le message
    Désolé, le shéma DDL comme tu dis sqlpro , j'ai pas compris.Je vais m'y mettre et voire comment ca se fait.
    Ca se fait tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE COLLECTIONS
    ( CODE_COLLECTION INTEGER UNIQUE, 
    NOM_COLLECTION VARCHAR(30) NOT NULL,
    CODE_EDITIONS INTEGER,
    PRIMARY KEY (CODE_COLLECTION), 
    FOREIGN KEY (CODE_EDITIONS) REFERENCES EDITIONS(CODE_EDITIONS)
    )
    Au passage, les noms de tables sont censés être au singulier.
    « Se demander si un ordinateur peut penser est aussi intéressant que de se demander si un sous-marin peut nager. »
    -- Edsger Dijkstra

Discussions similaires

  1. span et id pour requete sur table
    Par zaiim dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 18/03/2010, 14h57
  2. [AC-2003] Requete sur table pour comptage
    Par mat2424 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 24/09/2009, 11h36
  3. Requete sur table récursive pour construire arbre
    Par dacid dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 13/06/2006, 17h17
  4. [MySQL] requete sur table jointe
    Par winnie82 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/03/2006, 16h27
  5. Requete sur table avec Tableau
    Par Sichagadel dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/11/2005, 14h05

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