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 :

pb de renvoi ligne


Sujet :

Langage SQL

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Points : 47
    Points
    47
    Par défaut pb de renvoi ligne
    Bonjour à tous !
    J'ai une table qui contient des utilisateurs mais je souhaiterais renvoyer tout de même la ligne si l'utilisateur rentré n'apparait pas dans la table. Cela est - il possible ?
    merci d'avance

  2. #2
    Membre averti Avatar de mmathieu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

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

    Informations forums :
    Inscription : Février 2005
    Messages : 35
    Points : 318
    Points
    318
    Par défaut
    je n'ai peut-être pas bien compris.. mais tu désires faire une requête qui te renvoie une ligne pour un nom d'utilisateur donné et tu veux aussi que si l'utilisateur n'est pas dans ta table, qu'il apparaisse.. ? ça ne me parait pas possible: dans une requête tu auras comme résultat seulement ce qui se trouve dans ta table, mais cela ne t'empêche pas de tester si aucun résultat n'est retourner et dans ce cas de faire le traitement voulu...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ResultSet r1 = ...;
    if (r1.next()) {
     // l'utilisateur existe dans la table
    } else {
     // l'utilisateur n'est pas dans la table
    }

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    Exactement, je souhaite faire une requête qui me renvoie une ligne pour un nom d'utilisateur donné et si l'utilisateur n'est pas dans ta table, je veux qu'il apparaisse également.

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    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 099
    Points : 28 400
    Points
    28 400
    Par défaut
    Une requête de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    select  NOM
    from    MATABLE
    union
    select  'DUPONT'
    from    TABLE_D_UNE_LIGNE
    where   not exists 
              ( select  1
                from    MATABLE
                where   NOM = 'DUPONT'
              )
    Si 'DUPONT' est dans la table, il sera retourné par la première requête.
    Sinon la deuxième ajoutera une ligne à la liste... Il suffit d'avoir à sa disposition une table d'une seule ligne (sélection d'une seule ligne dans une quelconque table existante !)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    Merci pour vos idées, mais voila exactement mon problème !

    identité de la personne = nom +' '+substring(prenom,1,1) +'.'

    mais si ce qui a été saisi n'existe pas dans la table alors le champs saisi doit tout de même etre renvoyé sans pour autant que celui ci soit incorporé dans la table.
    merci d'avance

  6. #6
    Membre actif Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut
    Il me semble que ce que tu demandes soit impossible. tu afficher des infos sur une personne en faisant un SELECT sur ta table. Mais si il ne trouve rien, il ne t'affichera rien. Mais ta requete, tu l'execute en SQL pur ou elle se trouve dans un script de style php ou autre chose ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    je l'execute en sql sous sql server. En gros j'ai 2 tables une utilisateur et une autre avec divers donnée ou on retrouve user.
    Je souhaite donné a la jointure une expression qui permettra d'afficher le nom de l'utilisateur qu'il soit ou non dans la table de la forme : nom+''+substring(prenom,1,1)+'.'

    je débute donc peut être que cela est impossible

  8. #8
    Membre actif Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut
    En SQL pur cela est impossible à moins que le nom et le prenom se trouve dans une autre table. Sinon tu dois passer par un script pour pouvoir utiliser des variables

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    je pense que cela est possible avec un left outer join
    mais bon je n'en suis pas sur du tout voila ce que j'ai fais


    select user_name, nom, prenom
    from table1
    left outer join table2
    on table2.user_name = table1.nom +' '+substring (table1.prenom,1,1)+'.'

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 25
    Points : 21
    Points
    21
    Par défaut
    La solution est en effet une jointure externe avec LEFT OUTER JOIN, mais dans le cas d'un JOIN la jointure est décrite avec ON et non avec WHERE.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT user_name, nom, prenom
    FROM table1
    LEFT OUTER JOIN table2
    ON table2.user_name = table1.nom +' '+substring (table1.prenom,1,1)+'.'

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    merci je m'en suis rendu compte apres avoir ecrit le post. Un résultat ressort mais je ne l'ai pas totalement analysé donc si j'ai des problèmes je repost.

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

Discussions similaires

  1. renvoi ligne par categorie tableau excel
    Par noir001 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/06/2009, 12h36
  2. [VB6]MSHFlexGrid | renvoi de ligne
    Par ouar dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 03/05/2006, 00h47
  3. [XML] [Debug] saut ligne renvoi un noeud
    Par alexixlebaulois dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 02/08/2005, 11h18
  4. Réponses: 2
    Dernier message: 12/01/2005, 23h08
  5. requette qui renvoi des ligne double
    Par fehmitn dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/09/2004, 22h36

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