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

Requêtes MySQL Discussion :

pb de syntaxe de requete


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2002
    Messages : 329
    Points : 139
    Points
    139
    Par défaut pb de syntaxe de requete
    Bonjour,

    Je concois un site qui met en ligne des cours.

    Voici le détail des 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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    -- tblCours  contient des informations sur les familles déclinées de tblActivite
    -- ex : loi des noeuds, loi des mailles, ...
    CREATE TABLE IF NOT EXISTS tblCours(
    	id int(255) unsigned not null auto_increment,
    	nom varchar(200),
    	commentaire varchar(250) DEFAULT '',
    	id_activite int(255) unsigned not null,
    	ordre int(255) unsigned default 0,
    	date_creation DATETIME DEFAULT "0000-00-00 00:00:00.0",
    	PRIMARY KEY(id),
    	INDEX (id_activite),
        FOREIGN KEY (id_activite) REFERENCES tblActivite(id)
                         ON DELETE CASCADE
    					 ON UPDATE CASCADE
    	)TYPE=INNODB;
     
    --Table détaillant le contenu du cours 
    CREATE TABLE IF NOT EXISTS tblCoursDetail(
    	id int(255) unsigned not null auto_increment,
    	id_cours int(255) unsigned not null,
    	id_createur int(255) unsigned not null,
    	date_lastmodif DATETIME DEFAULT "0000-00-00 00:00:00.0",
    	contenu TEXT,
    	PRIMARY KEY(id),
    	INDEX (id_cours),
        FOREIGN KEY (id_cours) REFERENCES tblCours(id)
                         ON DELETE CASCADE
    					 ON UPDATE CASCADE
    	)TYPE=INNODB;
     
    -- tblTest contient des informations en lien avec le cours (
    --Différents tests en lien avec le cours
    CREATE TABLE IF NOT EXISTS tblTest(
    	id int(255) unsigned not null auto_increment,
    	nom varchar(200),
    	commentaire varchar(250) DEFAULT '',
    	id_cours int(255) unsigned not null,
    	type_test int(10) unsigned ,
    	date_creation DATETIME DEFAULT "0000-00-00 00:00:00.0",
    	PRIMARY KEY(id),
    	INDEX (id_cours),
        FOREIGN KEY (id_cours) REFERENCES tblCours(id)
                         ON DELETE CASCADE
    					 ON UPDATE CASCADE
    	)TYPE=INNODB;
    -- tblAdherent contient des informations sur les utilisateurs de toutes sortes du site (administrateurs, créateurs, élèves, ...)
    CREATE TABLE IF NOT EXISTS `tbladherent` (
      `id` int(255) unsigned NOT NULL auto_increment,
      `titre` varchar(10) collate latin1_general_ci NOT NULL default 'm',
      `nom` varchar(100) collate latin1_general_ci NOT NULL,
      `prenom` varchar(100) collate latin1_general_ci NOT NULL,
      `adresse` varchar(100) collate latin1_general_ci NOT NULL,
      `cp` int(10) unsigned NOT NULL,
      `ville` varchar(100) collate latin1_general_ci NOT NULL,
      `email` varchar(100) collate latin1_general_ci NOT NULL,
      `anniversaire` DATETIME "0000-00-00 00:00:00.0",
      PRIMARY KEY  (`id`)
    );
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select c.id, c.nom, c.commentaire, d.nom, d.prenom
    from tblcours c, tbladherent d, tblcoursdetail e
     
    where d.id= e.id_createur AND e.id_cours=c.id
    Bien que la syntaxe ne me plaise guère pour l'instant, je parviens à avoir la liste des cours accompagnés de leur auteur.

    Cependant, lorsque j'améliore la requête en cherchant le nom des tests pour chaque cours, j'ai une panne !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select c.id, c.nom, c.commentaire, d.nom, d.prenom, t.nom
    from tblcours c, tbladherent d, tblcoursdetail e
    left join tbltest t ON t.id = c.id_cours
    where d.id= e.id_createur AND e.id_cours=c.id
    Où se trouve mon erreur?

    Pouvez-vous me guider? merci

  2. #2
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2002
    Messages : 329
    Points : 139
    Points
    139
    Par défaut
    Je pense avoir trouvé !

    Je laisse la solution pour ceux qui en sentiront le besoin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select c.id, c.nom, c.commentaire, b.id_createur, e.nom, t.nom
    from tblcours c
    left join tbltest t on t.id_cours = c.id
    left join tblcoursdetail b on b.id_cours=c.id
    left join tbladherent e on e.id = b.id_createur

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

Discussions similaires

  1. erreur de syntaxe sous-requête
    Par kenny49 dans le forum Requêtes
    Réponses: 5
    Dernier message: 26/07/2006, 16h10
  2. [VB6] Syntaxe des requetes SQL
    Par Djaiffe dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 09/06/2006, 09h19
  3. pb de syntaxe de requete
    Par stefFortin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 26/10/2005, 20h17
  4. syntaxe dans requete
    Par decour dans le forum Access
    Réponses: 2
    Dernier message: 30/09/2005, 16h55
  5. erreur syntaxe dans requete
    Par dom - ien moutiers dans le forum Requêtes
    Réponses: 5
    Dernier message: 19/04/2004, 11h54

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