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 :

Requête dans une plage de tables [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2011
    Messages : 37
    Par défaut Requête dans une plage de tables
    Salut!

    J'aimerais savoir quelle méthode est la plus efficace pour récupérer un nombre de lignes depuis plusieurs tables?

    Exemple:

    Dans la table app_data, on a:

    • Id: 2
    • UserId: 12
    • Data: AM

    • Id: 3
    • UserId: 12
    • Data: JG


    Dans une autre table, disons app_picto, on a:

    • Id: 53
    • UserId: 12
    • Data: BP


    Et maintenant on effectue un SELECT WHERE 'UserId = 12' afin de retourner ces 3 lignes... Un select + num_rows par table est trop lourd... Jusque là j'ai pas réussi à obtenir le nombre de ligne, ma requête me retourne uniquement 1 si le UserId existe... Ce n'est pas le but!

    Un petit coup de main serait le bienvenue

    Merci!

  2. #2
    Membre éclairé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2007
    Messages : 70
    Par défaut
    Salut kfa1983,

    Vu que test deux tables possèdent la même structure, tu peux créer une table temporaire, y insérer les données des deux tables (après filtrage sur le IdUser) et faire un count du tout.

    Après suivant ton SGBD tu auras plus ou moins de difficultés à le faire, certains offrant des fonctionnalités supplémentaires.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2011
    Messages : 37
    Par défaut
    Merci Cobalt! J'avais aussi envisagé la table temporaire mais un peu lourd aussi... J'ai finalement réussi à retourner mes lignes en utilisant UNION ALL, si ça peut intéresser quelqu'un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT id FROM
    	((SELECT id FROM app_picto WHERE user_id = '12')
    	UNION ALL // pour ne pas confondre les doublons éventuels
    	(SELECT id FROM app_blog WHERE user_id = '12'))
    	AS this

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

Discussions similaires

  1. Inscrire le résultat d'une requête dans une plage de cellules
    Par Vorehan dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/10/2013, 09h45
  2. Insérer le contenu d'une requête dans une table
    Par guadian dans le forum VBA Access
    Réponses: 1
    Dernier message: 20/07/2007, 20h16
  3. Enregistrer une requête dans une table de Log
    Par cactus2078 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 22/05/2007, 10h34
  4. Résultat requête dans une table
    Par guiguikawa dans le forum Requêtes et SQL.
    Réponses: 22
    Dernier message: 23/06/2006, 15h34
  5. Réponses: 2
    Dernier message: 02/06/2006, 11h26

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