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 :

Requête OR sur 2 tables


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    sans
    Inscrit en
    Avril 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Avril 2017
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Requête OR sur 2 tables
    Bonjour

    Quand un membre s inscrit, ses infos sont 'mise en attente' dans une table users_temp. Je génère le lien de confirmation, l'envoie par email et quand il est cliqué je je fais basculer les infos de la table usesr_temp à la table users.
    Comme le choix est donné au membre de choisir son pseudo, je dois vérifier qu il n existe dans aucune de ces deux tables.
    Actuellement je fais ça au travers de 2 requêtes mais je me dis qu'une seule devrait être envisageable.
    Je crois que l emploi de jOINT serait utile.
    Enfin je dis je crois parce que malgré tout ce que je viens de lire je n ai pas été capable de faire une requête convenable.
    Une piste serait la bienvenue.

    J'imagine qu il faut faire quelque chose comme ça (mais j ai toujours tendance à réinventer la roue) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sumt(NB1 + NB2) as nb_pseudo where (select count(pseudo) as NB1 from table'users' where pseudo like 'le pseudo choisit') limit 1)  and where (select count(pseudo) as NB2 from table'users_temp' where pseudo like 'le pseudo choisit') limit 1)
    merci pour votre aide.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select coalesce((select 1 from 'users'      where pseudo = '<pseudo>' limit 1), 0)
         + coalesce((select 1 from 'users_temp' where pseudo = '<pseudo>' limit 1), 0);
    Ça renverra 0, 1 ou 2.

  3. #3
    Membre à l'essai
    Homme Profil pro
    sans
    Inscrit en
    Avril 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Avril 2017
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    merci cela fonctionne parfaitement.
    je débute et j'ai pas mal lu des tutos et jamais je n ai lu coalesce.
    Maintenant j ai lu sur le site php et... je n aurais pas su m en servir seul
    merci

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

Discussions similaires

  1. Requete SELECT SUR +sieurs tables
    Par yanis97 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 21/09/2006, 14h30
  2. Requete MySQL sur plusieurs tables
    Par romulus67 dans le forum Requêtes
    Réponses: 10
    Dernier message: 03/07/2006, 18h45
  3. requête count sur deux tables
    Par psychoBob dans le forum Requêtes
    Réponses: 7
    Dernier message: 13/06/2006, 16h12
  4. Réponses: 8
    Dernier message: 17/05/2006, 15h32
  5. Requete COUNT sur 3 tables
    Par Le-Cortex dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/09/2005, 11h39

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