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 :

Requete sql avec 2 id different mais qui utilise la meme table


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    822
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 822
    Points : 49
    Points
    49
    Par défaut Requete sql avec 2 id different mais qui utilise la meme table
    Bonjour,


    Je dispose d'une table client:

    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
    -- phpMyAdmin SQL Dump
    -- version 2.9.1.1-Debian-2ubuntu1
    -- http://www.phpmyadmin.net
    -- 
    -- Serveur: localhost
    -- Généré le : Mercredi 05 Novembre 2008 à 14:03
    -- Version du serveur: 5.0.38
    -- Version de PHP: 5.2.1
    -- 
    -- Base de données: `qualite`
    -- 
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `client`
    -- 
     
    CREATE TABLE `client` (
      `id_client` int(11) NOT NULL auto_increment,
      `code_client` int(11) NOT NULL,
      `nom_client` varchar(32) NOT NULL,
      `adresse_client` varchar(32) NOT NULL,
      `cb_client` int(11) NOT NULL,
      `ville_client` varchar(32) NOT NULL,
      `contact_client` varchar(32) NOT NULL,
      `tel_client` varchar(32) NOT NULL,
      `fax_client` varchar(32) NOT NULL,
      `id_televendeuse` int(11) default NULL,
      PRIMARY KEY  (`id_client`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=621 ;
     
    -- 
    -- Contenu de la table `client`
    id_televendeuse est rattaché a la table user.
    Réclamation:

    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
    -- phpMyAdmin SQL Dump
    -- version 2.9.1.1-Debian-2ubuntu1
    -- http://www.phpmyadmin.net
    -- 
    -- Serveur: localhost
    -- Généré le : Mercredi 05 Novembre 2008 à 14:03
    -- Version du serveur: 5.0.38
    -- Version de PHP: 5.2.1
    -- 
    -- Base de données: `qualite`
    -- 
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `reclamation`
    -- 
     
    CREATE TABLE `reclamation` (
      `id_reclamation` int(11) NOT NULL auto_increment,
      `date_reclamation` date NOT NULL COMMENT 'date',
      `heure_reclamation` time NOT NULL,
      `id_user` int(11) NOT NULL COMMENT 'id user',
      `id_client` int(11) NOT NULL COMMENT 'client',
      `id_motif_reclamation` int(11) NOT NULL,
      `des_reclamation` text NOT NULL,
      `cause_reclamation` text,
      `date_fabrication` date default NULL,
      `date_livraison` date default NULL,
      `date_dluo` date default NULL,
      `equipe` varchar(2) default NULL,
      `n_carton` int(11) default NULL,
      `quantite` int(11) default NULL,
      `n_bl` varchar(8) default NULL,
      `n_facture` varchar(8) default NULL,
      `id_produit` int(11) default NULL,
      `lot_reclamation` int(4) default NULL,
      `id_type_quantite` int(11) default NULL,
      `id_niveau_reclamation` int(11) NOT NULL,
      PRIMARY KEY  (`id_reclamation`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=32 ;
     
    -- 
    -- Contenu de la table `reclamation`
    --
    id_user utilise la table user
    Ma requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SELECT XXXXXX, id_reclamation, heure_reclamation, reclamation.id_motif_reclamation,
     nom_motif_reclamation, nom_user, prenom_user, code_client, nom_client, adresse_client,
     ville_client, contact_client, tel_client, fax_client, des_reclamation, cause_reclamation, 
    code_produit, nom_produit, lot_reclamation,n_carton, quantite, nom_type_quantite, DATE_FORMAT(date_fabrication,'%d/%m/%Y') as date_fabrication, 
    DATE_FORMAT(date_dluo,'%d%/%m/%Y') as date_dluo, equipe, n_bl, n_facture, nom_user, prenom_user
    FROM reclamation
    LEFT JOIN produit ON produit.id_produit=reclamation.id_produit
    INNER JOIN motif_reclamation ON motif_reclamation.id_motif_reclamation = reclamation.id_motif_reclamation
    INNER JOIN user as tel ON user.id_user=client.id_televendeuse
    INNER JOIN user ON user.id_user = reclamation.id_user
    INNER JOIN client ON client.id_client = reclamation.id_client
    LEFT JOIN type_quantite ON reclamation.id_type_quantite=type_quantite.id_type_quantite
    WHERE id_reclamation='1'
    Ou il y a les XXXX j voudrait récupérer les noms (et prénom de la télé vendeuse) qui sont rattaché a ce client. Mais le problème c'est que id_user est aussi utilise pour générer la personne qui a prit la réclamation.

    Comment faire pour ressortir ces 2 informations distinctes ?

    Merci

    guigui69

  2. #2
    Membre confirmé Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Points : 531
    Points
    531
    Par défaut
    bonjour,

    il faut utiliser AS.
    Ca permet de faire un alias.
    Par exemple,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT table1.champ AS truc1, table2.champ AS truc2 WHERE ...
    Gillou

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    822
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 822
    Points : 49
    Points
    49
    Par défaut
    Merci,

    Oui je pensait a utiliser AS.

    Mais comme lui dire dans la requête le faites d'aller chercher d'aller chercher le nom et prenom de la télévendeuse en utilisant l'id_televendeuse (id avec la table user) et aussi le nom_utilisateur et prenom de la personne qui a pris la réclamation (id_user qui utilise aussi la table user avec id_user).

    Merci

    guigui69

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    avec qqchose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT user1.NOM, user1.PRENOM, user2.NOM, user2.PRENOM
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INNER JOIN user user1 ON user1.id_user=client.id_televendeuse
    INNER JOIN user user2 ON user2.id_user = reclamation.id_user

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/08/2011, 19h14
  2. requete SQL avec sous requete qui ne fonctionne pas
    Par skyarnangel dans le forum Langage SQL
    Réponses: 8
    Dernier message: 06/02/2009, 15h47
  3. [where] requete sql avec OR qui déconne
    Par nannous dans le forum Langage SQL
    Réponses: 1
    Dernier message: 08/01/2007, 13h02
  4. requete SQl avec la fonction max () qui ne marche pas
    Par eclipse012 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/11/2006, 15h32
  5. [JDBC] retour de requete sql avec valeur NULL
    Par maxxou dans le forum JDBC
    Réponses: 3
    Dernier message: 13/09/2004, 15h40

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