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

PHP & Base de données Discussion :

souci sur une requete avec jointure [MySQL]


Sujet :

PHP & Base de données

  1. #1
    fey
    fey est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 231
    Points : 93
    Points
    93
    Par défaut souci sur une requete avec jointure
    bonjour,

    je voudrai avoir le resultat de la requete sous forme de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    matricule  annees  mois  moisnum  id_element  nom_element  quantite
    strucutre de la table + quelques donnees :
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    -- phpMyAdmin SQL Dump
    -- version 2.8.2.4
    -- http://www.phpmyadmin.net
    -- 
    -- Serveur: localhost
    -- Généré le : Lundi 08 Septembre 2008 à 08:36
    -- Version du serveur: 4.1.9
    -- Version de PHP: 4.3.10
    -- 
    -- Base de données: `releves_compteur`
    -- 
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `releves_p1`
    -- 
     
    CREATE TABLE `releves_p1` (
      `id` int(10) NOT NULL auto_increment,
      `matricule` varchar(15) NOT NULL default '',
      `annees` varchar(4) NOT NULL default '0000',
      `mois` varchar(20) NOT NULL default '',
      `moisnum` int(2) NOT NULL default '0',
      `id_element` varchar(250) NOT NULL default '0',
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
     
    -- 
    -- Contenu de la table `releves_p1`
    -- 
     
    INSERT INTO `releves_p1` (`id`, `matricule`, `annees`, `mois`, `moisnum`, `id_element`) VALUES (1, '7500254000', '2008', 'janvier', 1, '750025400020081'),
    (2, '7500254000', '2008', 'fevrier', 2, '750025400020082'),
    (3, '7504078800', '2008', 'janvier', 1, '750407880020081');
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `releves_p2`
    -- 
     
    CREATE TABLE `releves_p2` (
      `id` int(10) NOT NULL auto_increment,
      `id_element` varchar(250) NOT NULL default '0',
      `nom_element` varchar(40) NOT NULL default '0',
      `quantite` int(10) NOT NULL default '0',
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ;
     
    -- 
    -- Contenu de la table `releves_p2`
    -- 
     
    INSERT INTO `releves_p2` (`id`, `id_element`, `nom_element`, `quantite`) VALUES (1, '750025400020081', 'copies_totales', 500),
    (2, '750025400020081', 'copies_mois', 500),
    (3, '750025400020081', 'Impressions_totales', 1000),
    (4, '750025400020081', 'Impressions_mois', 1000),
    (5, '750025400020081', 'cumul_total', 1500),
    (6, '750025400020081', 'cumul_mois', 1500),
    (7, '750025400020082', 'copies_totales', 5000),
    (8, '750025400020082', 'copies_mois', 4500),
    (9, '750025400020082', 'Impressions_totales', 6000),
    (10, '750025400020082', 'Impressions_mois', 5000),
    (11, '750025400020082', 'cumul_total', 11000),
    (12, '750025400020082', 'cumul_mois', 9500),
    (13, '750407880020081', 'copies_totales', 1500),
    (14, '750407880020081', 'copies_mois', 1500),
    (15, '750407880020081', 'Impressions_totales', 2000),
    (16, '750407880020081', 'Impressions_mois', 2000),
    (17, '750407880020081', 'cumul_total', 3500),
    (18, '750407880020081', 'cumul_mois', 3500);
    mais voila lorsque je fais la jointure, j'ai plus d'elements que ce qui est present dans la table releves_p2, donc je dois surement mal m'y prendre.

    la requete que j'avais tente de faire ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql = 'SELECT releves_p1.matricule, releves_p1.annees,releves_p1.mois,releves_p1.moisnum,releves_p1.id_element,'
    $sql .= ' releves_p2.nom_element, releves_p2.quantite ';
    $sql .= ' FROM `releves_p1` JOIN `releves_p2` ';
    $sql .= ' where releves_p1.matricule LIKE \'%7%\'';
    $sql .= ' order by annees desc, moisnum asc';
    est ce que vous voyez le probleme ?

    merci beaucoup
    fey

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    manifestement, tu as une Base de données (releves_compteur), avec 2 tables (releves_p1 et releves_p2), dont tu n'as pas donné la structure (de chaque table !)
    Tu joins les tables ("JOIN"), mais tu ne fournis pas à ta requete d'élément de comparaison permettant de trouver les bons éléments de releves_p2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    $sql .= ' where releves_p1.matricule LIKE \'%7%\'';
    $sql .= ' AND releves_p1.XXX = releves_p2.XXX';
    ...
    XXX est le "champ de comparaison"
    (sans connaitre la structure de tes tables, difficile d'en dire plus) ...
    A priori : XXX = id_element (?)
    Dernière modification par Invité ; 08/09/2008 à 09h56.

  3. #3
    fey
    fey est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 231
    Points : 93
    Points
    93
    Par défaut
    ah ah la la quel boulet, j'avais pas vu je l'avais pas mis ^^
    merci
    tout de suite cela fonctionne beaucoup mieux

  4. #4
    Invité
    Invité(e)
    Par défaut
    Comme on dit : "c'est visible comme le nez au milieu de la figure !"
    Mais ... on ne voit pas son propre nez !

    Bonne journée

  5. #5
    fey
    fey est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 231
    Points : 93
    Points
    93
    Par défaut
    yep

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

Discussions similaires

  1. aide sur une requete avec jointures
    Par astroseb dans le forum Requêtes
    Réponses: 4
    Dernier message: 18/08/2010, 13h59
  2. Besoin d'aide sur une requete avec jointure et MAX()
    Par droog dans le forum Requêtes
    Réponses: 4
    Dernier message: 04/07/2007, 18h23
  3. Pb sur une requete avec jointure droite
    Par crashyear dans le forum Langage SQL
    Réponses: 3
    Dernier message: 06/02/2007, 08h06
  4. Problème export excel sur une requete avec critère
    Par eddyG dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 20/09/2006, 11h46
  5. [MySQL] Erreur dans une requête avec jointures
    Par bobic dans le forum Langage SQL
    Réponses: 17
    Dernier message: 03/08/2006, 13h04

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