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

WinDev Discussion :

Doublon dans table avec filtre [WD16]


Sujet :

WinDev

  1. #1
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut Doublon dans table avec filtre
    Bonsoir,

    Je vous met en situation, j'ai une combo rempli par programmation contenant une liste de "boutiques" : boutique 1, boutique 2, boutique 3 ainsi qu'en première position "Toutes les boutiques".

    J'ai également une table rempli par programmation contenant tous les clients de ses boutiques.

    Dans le code de sélection de ma combo, j’effectue des filtres avec TableActiveFiltre() pour filtrer les clients voulus selon la boutique sélectionnée.

    J'ai un soucis lorsqu'un client est listé dans 2 boutiques par exemple, car lorsque je souhaite lister dans ma table les clients de toutes les boutiques, j'ai des doublons sur certains client étant donné qu'il sont rattaché à plusieurs boutiques.

    La seule solution que j'ai trouvée est de ne pas faire de filtre sur ma table mais de relancer une requête à chaque fois pour éviter les doublons en ayant juste les bonnes données mais cela engendre pas mal de consommation réseau et d'attente de l'utilisateur de l'application...

    Avez-vous une idée ? Une solution ?

    Merci

  2. #2
    Membre confirmé Avatar de mnw.william
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Janvier 2011
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 311
    Points : 458
    Points
    458
    Par défaut
    Au fait tu utilises quoi comme BD ? HF ou autres ?

  3. #3
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    HF en classic et C/S.

  4. #4
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Citation Envoyé par WDKyle Voir le message
    Je vous met en situation, j'ai une combo rempli par programmation contenant une liste de "boutiques" : boutique 1, boutique 2, boutique 3 ainsi qu'en première position "Toutes les boutiques".

    J'ai également une table rempli par programmation contenant tous les clients de ses boutiques.

    Dans le code de sélection de ma combo, j’effectue des filtres avec TableActiveFiltre() pour filtrer les clients voulus selon la boutique sélectionnée.

    J'ai un soucis lorsqu'un client est listé dans 2 boutiques par exemple, car lorsque je souhaite lister dans ma table les clients de toutes les boutiques, j'ai des doublons sur certains client étant donné qu'il sont rattaché à plusieurs boutiques.

    La seule solution que j'ai trouvée est de ne pas faire de filtre sur ma table mais de relancer une requête à chaque fois pour éviter les doublons en ayant juste les bonnes données mais cela engendre pas mal de consommation réseau et d'attente de l'utilisateur de l'application...

    Avez-vous une idée ? Une solution ?
    Manque d'éléments pour ce prononcer

    - c'est quoi ton analyse ?
    - tu dis remplir la table client par programmation, mais à partir de quoi un fichier, une requête ?

    Personnellement j'utilise rarement les filtres je préfère les requêtes.
    Dans ton cas je ferais :
    - une requête avec un paramètre sur l'ID_boutique (Param_ID_boutique)
    - une procédure qui joue la requête suivi d'un TableAffiche()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    PROCEDURE FiltreTableclientboutique(pID_boutique est un entier)
     
    SELON pID_boutique
    	CAS 0
    		TaRequete.Param_ID_boutique = NULL
    	AUTRE CAS
    		TaRequete.Param_ID_boutique = pID_boutique
    FIN
    HExécuteRequête(TaRequete)
    TableAffiche(TaTable)
    - A chaque "sélection d'une ligne de TaCombo" tu lances la procédure en passant en paramètre l'id de la boutique sélectionnée
    - Si tu veux afficher tout les clients de toutes les boutiques il faut passer en paramètre 0

  5. #5
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Bonjour Laurent,

    J'utilise effectivement une requête mais la solution que tu me propose, je l'ai essayé comme je l'ai dis mais çà ne me conviens pas vraiment...

    Car à chaque sélection d'une ligne de la combo cela refais une requête et un remplissage de la table et donc une longue attente selon le nombre d'enregistrement pour l'utilisateur... Alors qu'avec un filtre, c'est pratiquement instantané !

  6. #6
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Citation Envoyé par WDKyle Voir le message
    J'utilise effectivement une requête mais la solution que tu me propose, je l'ai essayé comme je l'ai dis mais çà ne me conviens pas vraiment...

    Car à chaque sélection d'une ligne de la combo cela refais une requête et un remplissage de la table et donc une longue attente selon le nombre d'enregistrement pour l'utilisateur... Alors qu'avec un filtre, c'est pratiquement instantané !
    ok mais il faut au moins que tu nous donnes l'analyse des fichiers concernés et le code de ta requête pour comprendre pourquoi tu as des doublons...

  7. #7
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Voici les fichiers de ma requete :



    et la requete :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    SELECT 
    	Auditeur.IDAuditeur AS IDAuditeur,	
    	Auditeur.Complet AS Complet,	
    	Auditeur.Sexe AS Sexe,	
    	Auditeur.Nom AS Nom,	
    	Auditeur.Prenom AS Prenom,	
    	Auditeur.Age AS Age,	
    	Auditeur.Email AS Email,	
    	Auditeur.Adresse AS Adresse,	
    	Auditeur.Code_Postal AS Code_Postal,	
    	Auditeur.Commune AS Commune,	
    	Auditeur.Telephone_Fixe AS Telephone_Fixe,	
    	Auditeur.Telephone_Portable AS Telephone_Portable,	
    	Auditeur.Humeur AS Humeur,	
    	Auditeur.DatePremiereParticipation AS DatePremiereParticipation,	
    	Auditeur.DateDerniereParticipation AS DateDerniereParticipation,	
    	Auditeur.IDZone_ecoute AS IDZone_ecoute,	
    	Auditeur.Ecoute_Maison AS Ecoute_Maison,	
    	Auditeur.Ecoute_Travail AS Ecoute_Travail,	
    	Auditeur.Ecoute_Voiture AS Ecoute_Voiture,	
    	Auditeur.Ecoute_Fm AS Ecoute_Fm,	
    	Auditeur.Ecoute_Rnt AS Ecoute_Rnt,	
    	Auditeur.Ecoute_Internet AS Ecoute_Internet,	
    	Auditeur.Ecoute_Smartphone AS Ecoute_Smartphone,	
    	Auditeur.Mailing_Mail AS Mailing_Mail,	
    	Auditeur.Mailing_Sms AS Mailing_Sms,	
    	Auditeur.Site_Internet AS Site_Internet,	
    	Auditeur.Facebook AS Facebook,	
    	Auditeur.Twitter AS Twitter,	
    	Auditeur.Commentaires AS Commentaires,	
    	Auditeur.Date_Heure_Creation AS Date_Heure_Creation,	
    	Radio.IDRadio AS IDRadio
    FROM 
    	Radio,	
    	Radio_Auditeur,	
    	Auditeur
    WHERE 
    		Radio_Auditeur.IDRadio	=	Radio.IDRadio
    	AND	Radio_Auditeur.IDAuditeur	=	Auditeur.IDAuditeur
    Et donc si un "client" ou "auditeur" ici est dans deux "radios", il est en doublon c'est logique, j'en ai besoin dans cette requete. C'est juste à l'affichage final que je souhaite qu'il ne soit lister qu'une seule fois si il fait parti de plusieurs "radios"

  8. #8
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Je comprends mieux, tu as une relation plusieurs à plusieurs.

    La problématique c'est que tu veux que la requête te réponde
    - pour chaque auditeur toutes les radios en relation (donc plusieurs lignes par auditeur)
    - et une seule ligne par auditeur (quand tu veux les auditeurs de toutes les radios)

    Les résultats que tu veux sont antagonistes tu ne peux avoir qu'un seul des 2 résultats.

    Et comme qui peut le plus, peut le moins, il est préférable que tu conserves ta requête actuelle...

    Comme on ne peut pas agir sur la requête et que je vois que tu remplis la table par programmation c'est là que tu peux agir en re-remplissant de manière conditionnelle ta table.

    Tout d'abord déclarer une variable globale à la fenêtre pour savoir quelles sont les données dans table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gsTypeDonnees est une chaîne    // "Auditeur" ou "Auditeur/Radio"
    Puis la procédure pour re-remplir si nécessaire la table et surtout y afficher les données souhaitées

    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
    28
    PROCEDURE FiltreTable(pIDRadio est un entier)
     
    nIDAuditeurEnCours est un entier
     
    SELON pIDRadio
    	CAS 0
    		SI gsTypeDonnees <> "Auditeur" ALORS
    			TableSupprimeTout(TaTable)
    			POUR TOUT REQ_01 // TaRequete
    				SI nIDAuditeurEnCours <> TaRequete.IDAuditeur ALORS
    					nIDAuditeurEnCours = TaRequete.IDAuditeur
    					TableAjouteLigne(TaTable,COL_IDRadio)	// les colonnes de TaRequete...)
    				FIN								
    			FIN
    			gsTypeDonnees = "Auditeur"
    		FIN
    		TableDésactiveFiltre(TaTable.COL_IDRadio,filtreEgal,pIDRadio)
     
    	AUTRE CAS
    		SI gsTypeDonnees <> "Auditeur/Radio" ALORS
    			TableSupprimeTout(TaTable)
    			POUR TOUT REQ_01 // TaRequete
    				TableAjouteLigne(TaTable,COL_IDRadio)	// les colonnes de TaRequete...)				
    			FIN
    			gsTypeDonnees = "Auditeur/Radio"
    		FIN
    		TableActiveFiltre(TaTable.COL_IDRadio,filtreEgal,pIDRadio)
    FIN
    Pour ce qui est de ta requête tu peux éviter une jointure puisque l'IDRadio est déjà dans Radio_Auditeur et que dans le SELECT il n'y a aucune autre rubrique du fichier Radio.

    Ceci dit je trouve que dans cette manière de faire on se complique la vie pour pas grand chose.

    J'utilise la manière que je t'ai exposé précédemment sur des fichiers qui comportent plusieurs millions d'enregistrements et les temps sont très raisonnables... et dans ce que je vois de ta requête rien ne me fait penser que ce soit long pour toi...

    Maintenant si ton fichier est énorme, vu que tu charges tout, c'est à l'ouverture de la fenêtre que ça risque d'être long...

  9. #9
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Ce n'est pas la requête qui prend le plus de temps mais le remplissage de la table :s

    En HyperFile C/S, il me met 3 secondes à charger tous les "auditeurs" dans la table (10 000 enregistrements) et la requête qui me ramène juste les "auditeurs" d'une "radio" prend facile 5 sec... Pas très brillant pour 3000 enregistrements...

  10. #10
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Citation Envoyé par WDKyle Voir le message
    Ce n'est pas la requête qui prend le plus de temps mais le remplissage de la table :s

    En HyperFile C/S, il me met 3 secondes à charger tous les "auditeurs" dans la table (10 000 enregistrements) et la requête qui me ramène juste les "auditeurs" d'une "radio" prend facile 5 sec... Pas très brillant pour 3000 enregistrements...
    Essayes en désactivant l'affichage avant le remplissage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TaTable..Affichageactif = Faux
    puis tu le réactives après...

  11. #11
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    J'ai déjà tenté, ces temps sont avec cette propriété. Par contre, les lignes de la table disparaissent, c'est pas très esthetique :s

    Merci pour ton aide en tout cas

  12. #12
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Je ne sais pas si tu as besoin de toutes les rubriques dans le SELECT, mais s'il y en a que tu n'affiches pas dans la table tu peux les enlever ça fera toujours moins de données à rapatrier...

  13. #13
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    J'ai besoin de toutes les données de ma requête sinon ton code est intéressant, par contre, je ne libère plus ma requête ? Sauf à la fermeture de la fenêtre ?

    Sinon le mieux selon toi, serais de refaire une requête à chaque sélection d'une "radio" dans la combo et de re-rempli la table ?

  14. #14
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    J'ai trouvé une solution intermédiaire

    J'ai repris l'idée de ton code avec nIDAuditeurEnCours est un entier

    Lorsque je rempli ma table, si il y a un doublon, j'alimente une colonne COL_Doublon avec un 1 et donc ensuite avec un filtre si je veux afficher tous les auditeurs en enlevant les doublons je fais un filtre sur la colonne doublon et la valeur 0. Si je veux filter les auditeurs par radio, je fais un filtre sur la colonne idradio

    Voila Merci en tout cas !

  15. #15
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    C'est encore plus astucieux...

  16. #16
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Par contre, en HF C/S je suis à 14 secondes de remplissage pour 10 000 enregistrements

  17. #17
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Tu peux essayer de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FichierVersTableMémoire(TaTable, TaRequête)
    puis faire un parcours de la table pour identifier les lignes doublons

    peut-être que ça sera plus rapide ?

    pense d'essayer aussi en désactivant l'affichage de la table avant le FichierVersTableMémoire()
    puis en le rétablissant après le parcours de la table pour voir s'il y a un gain significatif...

  18. #18
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Tu peux aussi essayer la requête ci-après qui identifie automatiquement les lignes doublon (ça évitera d'avoir à parcourir la table)
    Suivi d'un FichierVersTableMémoire()

    A voir si l'ensemble est plus rapide, et surtout si c'est possible avec HyperFile (je suis plus habitué à MySQL) ???

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    SELECT
      a.*,
      IF(b.cria_id IS NOT NULL,0,1) AS Doublon
     
    FROM
    	(	SELECT 
    			Auditeur.IDAuditeur AS IDAuditeur,	
    			Auditeur.Complet AS Complet,	
    			Auditeur.Sexe AS Sexe,	
    			Auditeur.Nom AS Nom,	
    			Auditeur.Prenom AS Prenom,	
    			Auditeur.Age AS Age,	
    			Auditeur.Email AS Email,	
    			Auditeur.Adresse AS Adresse,	
    			Auditeur.Code_Postal AS Code_Postal,	
    			Auditeur.Commune AS Commune,	
    			Auditeur.Telephone_Fixe AS Telephone_Fixe,	
    			Auditeur.Telephone_Portable AS Telephone_Portable,	
    			Auditeur.Humeur AS Humeur,	
    			Auditeur.DatePremiereParticipation AS DatePremiereParticipation,	
    			Auditeur.DateDerniereParticipation AS DateDerniereParticipation,	
    			Auditeur.IDZone_ecoute AS IDZone_ecoute,	
    			Auditeur.Ecoute_Maison AS Ecoute_Maison,	
    			Auditeur.Ecoute_Travail AS Ecoute_Travail,	
    			Auditeur.Ecoute_Voiture AS Ecoute_Voiture,	
    			Auditeur.Ecoute_Fm AS Ecoute_Fm,	
    			Auditeur.Ecoute_Rnt AS Ecoute_Rnt,	
    			Auditeur.Ecoute_Internet AS Ecoute_Internet,	
    			Auditeur.Ecoute_Smartphone AS Ecoute_Smartphone,	
    			Auditeur.Mailing_Mail AS Mailing_Mail,	
    			Auditeur.Mailing_Sms AS Mailing_Sms,	
    			Auditeur.Site_Internet AS Site_Internet,	
    			Auditeur.Facebook AS Facebook,	
    			Auditeur.Twitter AS Twitter,	
    			Auditeur.Commentaires AS Commentaires,	
    			Auditeur.Date_Heure_Creation AS Date_Heure_Creation,	
    			Radio_Auditeur.IDRadio AS IDRadio
    		FROM 
    			Auditeur,	
    			Radio_Auditeur	
    		WHERE
    			Auditeur.IDAuditeur = Radio_Auditeur.IDAuditeur 
    	) AS a
    	LEFT JOIN
    	(	SELECT Radio_Auditeur.IDRadio_Auditeur AS RA_IDRadio_Auditeur,Radio_Auditeur.IDAuditeur
    		FROM Radio_Auditeur
    		WHERE Radio_Auditeur.IDAuditeur IN (SELECT MIN(Radio_Auditeur.IDAuditeur) FROM Radio_Auditeur WHERE IDRadio_Auditeur = RA_IDRadio_Auditeur)
    	) AS b
    		ON a.IDAuditeur = b.IDAuditeur
    ORDER BY IDAuditeur,IDRadio

  19. #19
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Merci pour ton aide mais finalement, je vais surement faire une requête à chaque sélection d'une ligne de la combo.

    Ça ne chargera que les enregistrements que j'ai réellement besoin.

    le truc marrant, c'est que ma requête qui récupère tous les auditeurs met maintenant 3 sec et celle pour récupérer les auditeurs d'une radio met 5 sec lol

    C'est surement dû aux jointures ?

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

Discussions similaires

  1. MySQL enlever doublons dans table
    Par MCSalsa dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/06/2007, 21h18
  2. probleme d'insertion dans table avec cle secondaire
    Par pseudobidon57 dans le forum SQL
    Réponses: 1
    Dernier message: 01/06/2007, 13h46
  3. rechercher et éliminer doublons dans table
    Par patbeautifulday1 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 16/05/2007, 10h27
  4. insertion dans table avec plusieurs clés étrangères
    Par philippe281281 dans le forum Administration
    Réponses: 2
    Dernier message: 14/06/2006, 18h35
  5. Pb d'écriture intempestive dans table avec SQL insert into
    Par pete_shifter dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 10/11/2005, 11h51

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