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

 MySQL Discussion :

Compter les itérations d'un champ avec clef étrangère


Sujet :

MySQL

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2010
    Messages : 36
    Points : 43
    Points
    43
    Par défaut Compter les itérations d'un champ avec clef étrangère
    Bonjour,

    J'ai une table Image, ensuite d'autres tables qui ont une clef étrangère (id_Image ou id_Image1 et id_Image2).

    J'aimerai compter le nombre de fois qu'une image est utilisée dans les autres tables, mais je ne sais pas quelle requête utiliser.

    Je pourrais faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT COUNT(*) 
    FROM MatableX 
    WHERE id_Image IS NOT NULL 
      OR id_Image1 IS NOT NULL 
      OR id_Image2 IS NOT NULL;
    Mais je devrai le faire X fois (pour chaque table) alors que je cherche une solution flexible.

    Bref : existe-t-il une requête qui compte le nombre de fois que l'image est utilisé quelque soit le nombre de table dans ma base ?

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2010
    Messages : 36
    Points : 43
    Points
    43
    Par défaut une solution
    Bonjour,

    J'ai découvert INFORMATION_SCHEMA.KEY_COLUMN_USAGE en cherchant sur internet.

    J'ai crée une fonction qui utilise cette table pour résoudre mon problème.

    En C# ça donne ça :

    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
    private int getIteration()
    {
    	int nbrIterationImage = 0;
    	string strIdImage = monImage.id.ToString();
    	List<string> requetes = new List<string>();
    	MySQLConnexion connexion = new MySQLConnexion("mabase");
     
    	connexion.Open();
     
    	MySqlDataReader Lecteur = connexion.Select("SELECT TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME='Image'");
    	while (Lecteur.Read())
    	{
    		requetes.Add("SELECT COUNT(*) FROM " + Lecteur[0].ToString() + " WHERE " + Lecteur[1].ToString() + "=" + strIdImage);
    	}
    	Lecteur.Close();
     
    	foreach (string requete in requetes)
    	{
    		Lecteur = connexion.Select(requete);
    		if (Lecteur.Read())
    			nbrIterationImage += Convert.ToInt32(Lecteur[0]);
    		Lecteur.Close();
    	}
     
    	connexion.Close();
    	return nbrIterationImage;
    }
    Je pense qu'il y a des solutions plus simples; c'est pour ça que je poste ça ici.

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

Discussions similaires

  1. [AC-2000] Changer les propriétés d'un champs avec VBA
    Par Gwendo69 dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/05/2009, 11h55
  2. Compter les occurences d'un champ dans un fichier txt
    Par JeuneJavaiste dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 10/11/2008, 07h52
  3. Compter les éléments dans un champ
    Par sucreMan dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 22/05/2008, 12h11
  4. Compter les valeurs d'un champs multivalués
    Par jema83 dans le forum VBA Access
    Réponses: 0
    Dernier message: 17/11/2007, 10h35
  5. compter les occurences dans un fichier avec fgetc
    Par deathsurfer dans le forum C
    Réponses: 21
    Dernier message: 21/01/2007, 13h44

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