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 :

création d'une table à partir de 3 tables


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Points : 32
    Points
    32
    Par défaut création d'une table à partir de 3 tables
    bonjour j'ai un probleme de crée un table
    les tables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    employe (code,nom,prenom,poste,grade,superieur,date_emb,noservice)
    salaire(grade,salmin,salmax)
    service(noservice,nomservice)
    voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE TABLE directeur
    AS SELECT code,nom,prenom,sal,nomservice
    FROM employe e,service r,salaire s
    WHERE  e.grade=s.grade and e.noservice=s.noservice;
    est merci bien;

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    mais je rêve !
    c'est ça la syntaxe de la requête de création de table ?
    je t'invite vivement à faire un tour sur les cours et tutoriels concernant le sql du site !

    et puis tu n'es pas très clair ! créer une table à partir de 3 autres ça veut dire quoi pour toi ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Points : 102
    Points
    102
    Par défaut
    Je crois que Ucom-C++ veut parler d'une vue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE VIEW directeur AS ...
    Elle sera utilisable en lecture, mais pas en écriture évidemment !

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Points : 32
    Points
    32
    Par défaut
    il me dit :
    erreur de syntaxe dans l'instructin CREATE TABLE

  5. #5
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par Vladislav IV
    Je crois que Ucom-C++ veut parler d'une vue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE VIEW directeur AS ...
    Elle sera utilisable en lecture, mais pas en écriture évidemment !
    cela dépend du type de vue, si celle comporte plusieurs tables ou pas (et du type de sgbd ?)

    Citation Envoyé par Ucom-C++
    il me dit :
    erreur de syntaxe dans l'instructin CREATE TABLE
    oui il ya une erreur de syntaxe, regarde le lien de mon précédent post pour prendre quelques cours sur le SQL, un peu de courage c'est pas difficile
    par exemple pour ta table salaire tu devrais avoir ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE TABLE SALAIRE (
        GRADE INTEGER NOT NULL,
        SALMIN INTEGER,
        SALMAX INTEGER);
    puis, pour définir la clé primaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    alter table SALAIRE
    add constraint PK_SALAIRE
    primary key (GRADE);

  6. #6
    Membre averti Avatar de Soutou
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 328
    Points : 380
    Points
    380
    Par défaut
    Il est toutefois possible de créer une table à partir d'autres, les données seront toutefois redondantes.
    Dans la première syntaxe, ne manque-t'il pas l'alias sur les colonnes
    e.code,e.nom ...?

  7. #7
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par Soutou
    Il est toutefois possible de créer une table à partir d'autres, les données seront toutefois redondantes.
    c'est possible dans quel type de sgbd ça ? une vue ou une requête peut être créée à partir de plusieurs tables ou autres vues oui, mais une table à partir d'autres tables, moi j'ai jamais vu ça!

    Citation Envoyé par Soutou
    Dans la première syntaxe, ne manque-t'il pas l'allias sur les colonnes
    e.code,e.nom ...?
    l'alias de la table devant les colonnes n'est pas indispensable, du moment que les noms des champs sélectionnés sont uniques dans chaque table (son cas)

  8. #8
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 111
    Points : 28 451
    Points
    28 451
    Par défaut
    Citation Envoyé par evarisnea
    c'est possible dans quel type de sgbd ça ? une vue ou une requête peut être créée à partir de plusieurs tables ou autres vues oui, mais une table à partir d'autres tables, moi j'ai jamais vu ça!
    Ben alors, faut sortir un peu...
    La syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE TABLE nomtable (col, ...)
    AS SELECT ... FROM ...;
    Citation Envoyé par evarisnea
    l'alias de la table devant les colonnes n'est pas indispensable, du moment que les noms des champs sélectionnés sont uniques dans chaque table (son cas)
    En effet, mais ça améliore la lisibilité et ça évite les surprises si la structure d'une des tables est modifiée.

  9. #9
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par al1_24
    Ben alors, faut sortir un peu...
    là je suis bien d'accord

    désolé, mais je ne savais pas que c'était possible ça
    @ Soutou : dsl !

    faudra que je cherche un peu comment mettre celà en oeuvre et surtout quelle en est l'utilité

    Citation Envoyé par al1_24
    En effet, mais ça améliore la lisibilité et ça évite les surprises si la structure d'une des tables est modifiée.
    oui.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/05/2014, 14h53
  2. Réponses: 6
    Dernier message: 26/06/2008, 03h53
  3. Créer une table à partir de 3 tables
    Par pedro99 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 27/05/2008, 12h44
  4. Réponses: 4
    Dernier message: 11/10/2006, 09h51
  5. Réponses: 9
    Dernier message: 19/09/2006, 19h27

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