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 :

trois champ a un :)


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut trois champ a un :)
    bonjour tout le monde
    je vous explique mon pb, j ai deux tables comme comme ci dessous
    table 1: operation
    -num_op
    -op_annul
    -op_front
    -op_back
    table 2: utilisateur
    -code
    -nom

    dans operation
    num_op correspond a un numero d'operation,
    op_* sont les codes des utilisateurs qui on fait l'operation
    dans utilisateur
    code correspond au code d'un utilisateur
    nom a son nom

    voila bon mon pb est que je ne sait pas comment sortir en une seul requet le nom des trois operateur pour une operation donné
    ca a l air simple mais je ne sait pas comment faire

    pour le moment j' en suis bloque a faire des truc comme ca :
    SELECT
    ut1.nom front,
    ut2.nom back,
    ut3.nom annul
    FROM
    utilisateur ut1,
    utilisateur ut2,
    utilisateur ut3,
    operation
    WHERE
    op_front = ut1.code AND op_back = ut2.code and op_annul = ut3.code


    mais un requete comme ca ne marche pas car il n'y a pas toujours les trois operateurs il peut y avoit des operation ou seulement un utilisateur est renseigné

    berf je suisvraiment pardu si qqun a une idee je suis preneur

    nb, c est sous oracle mais bon
    merci beaucoup
    ++

  2. #2
    Membre averti Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Points : 341
    Points
    341
    Par défaut
    tu peux pas faire un truc du style
    SELECT * from utilisateur WHERE code like (SELECT op_annul from operation WHERE num_op like (TA VARIABLE)) or code like (SELECT op_front from operation WHERE num_op like (TA VARIABLE)) or code like (SELECT op_back from operation WHERE num_op like (TA VARIABLE))
    Shiv@ Skunk

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    je viens de tester meme si je comprend pas tout a ta requete ca a l aire de marcher seulement je cherche vraiment a ne pas faire des select de select
    ma requete et deja bien compliqué et faire ca la ralenti beaucoup trop

    de plus je cherche vraiment a avoir un sorti du genre
    front back annul
    nom1 nom2 nom3

    et non pas comme ce que donne la requet
    code nom
    code1 nom1
    code2 nom3


  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Ton problème est un problème de jointure externe, ce qui se resoud sous oracle en utilisant le mot clé (+)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT 
    ut1.nom front, 
    ut2.nom back, 
    ut3.nom annul 
    FROM 
    utilisateur ut1, 
    utilisateur ut2, 
    utilisateur ut3, 
    operation 
    WHERE 
    op_front = ut1.code(+) AND op_back = ut2.code(+) and op_annul = ut3.code (+)
    a voir, je ne sais plus de quel côté on met le (+)
    Soazig

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    yep le (+) est exactement ce que je cherchais !!!!
    MERCI
    tu me sauve le vie lol tu ve quoi en echange ? lol
    encor merci beaucoup+++++++

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

Discussions similaires

  1. [AC-2007] Concaténer trois champs pour former une date
    Par souketou dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 12/05/2009, 09h27
  2. Réponses: 2
    Dernier message: 19/04/2009, 20h20
  3. l'incrementation auto des trois champs
    Par mystro7200 dans le forum Débuter
    Réponses: 9
    Dernier message: 21/11/2008, 15h44
  4. [MySQL] trois champs de formulaire liées
    Par amadousoind dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/08/2007, 13h36
  5. Séparer un champ en trois champs différentes
    Par egg3774 dans le forum Access
    Réponses: 6
    Dernier message: 21/03/2007, 17h45

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