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

Requêtes et SQL. Discussion :

Problème de requête


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2017
    Messages : 45
    Points : 24
    Points
    24
    Par défaut Problème de requête
    Bonjour,

    Ma requête peut paraître facile mais je n'arrive pas à obtenir le bon résultat. Je suppose qu'il faut que je passe par une sous-requête.
    Voici mon soucis :
    J'ai une table sites avec un id_site (id auto-increment). J'ai une table memo qui regroupe les dates de recontact de tous les prestataires : on les identifie par un id_prestataire_fk. Pour un même site, on peut avoir 2 fois le mémo vu qu'ils se différencient par l'id_prestataire_fk.

    Voici la structure de la table memo

    id_memo id_prestataire_fk id_site_fk date_recontact memo
    1 2 57 01/01/01 test
    2 5 60 02/02/02 test2
    3 2 58 03/03/03 test3
    4 5 57 04/04/04 test4

    Il faudrait donc obtenir tous les id_site_fk sauf ceux ayant déjà une date de recontact mais uniquement pour un id_prestataire_fk prècis ( ex : pour le prestataire n°2, seul la fiche 60 sortirait, les autres ont déjà une date de recontact.

    Merci par avance de votre aide, ça fait 2heures que je suis dessus sans pour autant avoir trouvé la solution.

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Je reformule ta question, pour être sûr de comprendre ce que tu veux.

    Pour un prestataire donné (exemple le 2) tu veux la liste des id_site_fk qui n'ont pas encore été recontactés par ce prestataire.
    Si c’est cela,
    - construis une requête qui ramène les sites déjà recontactés par un prestataire déterminé ,
    - récupère de SQL,
    - et exprime que tu veux lister tous les enregistrements qui ne sont pas ramenés par la requête.

    Fichiers attachés Fichiers attachés
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2017
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Bonjour Claude,

    Merci de ta réponse, je teste ça et te tiens au courant si cela à fonctionner.

    Je profite de ce post pour demander à nouveau une problèmatique afin d'éviter de créer plusieurs topics.

    3 tables : sites (id_site,raison_sociale,etc...), clients (id_client, nom, id_site_fk) et sites_activites (id_sites_activites, id_client_fk, id_sous_activites)

    J'ai un formulaire basé sur la table sites (donc tous les formulaires sont en champ père/fils entre id_site et id_site_fk). Par contre, la sous-activité de l'entreprise est relié au client et non pas au site (je ne peux pas modifier cela, la base est relié au site internet qui a été construit comme cela). J'arrive sans problème à n'afficher qu'une fois la fiche même si il y a plusieurs clients attaché au site. Par contre, lorsque j'effectue un changement, celui-ci se fait uniquement sur le premier client de la liste et non pas tous les autres.

    Je ne sais pas comment faire et c'est pour cela que je demande de l'aide : lorsque je change la sous activité de l'entreprise, il faudrait que la modification est prise en compte pour tous les clients.

    Il faudrait aussi que lorsqu'un nouveau client est ajouté au site (cela ne pose pas de problème, l'info est bien récupéré), il ajoute la sous_activite automatiquement.

    Merci déjà d'avoir passé du temps pour répondre à ma première demande.

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Je profite de ce post pour demander à nouveau une problèmatique afin d'éviter de créer plusieurs topics.
    La prochaine fois, n’hésite pas : ouvre une nouvelle discussion => c’est la règle !

    Quoi qu’il en soit, je ne parviens pas à visualiser ce que tu veux faire.

    Peux-tu donner un exemple concret en ajoutant les tables et le formulaire dans la base que j’ai jointe au billet N° 2. (Je dispose d’Access2000.)

    En rusant un peu, il est possible d'afficher plusieurs fils de pères différents sur un même écran.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2017
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Bonjour Claude,
    D'abord, un grand merci pour ma première demande, je m'en suis inspiré et revu toute ma base en suivant cette logique. C'est pour cela que je répond assez tardivement.
    Pour la création de topic, je le saurais pour la prochaine fois.

    Je te joins un exemple type de ma base en pièce jointe.

    Tu pourras donc voir que si je modifie la sous-activité, il y a uniquement la modification sur le premier client relié au site. Il faudrait que tous les clients qui sont reliés à ce site obtiennent cette modification (qu'ils étaient déjà présent ou si ils viennent d'être créés)

    Merci d'avance.
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Je ne comprends pas ce que tu fais.
    Peux-tu donner quelques détails sur le contexte.
    Je comprends qu’il y a des sites et des clients, mais je ne comprends pas leurs relations.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2017
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Je n'ai pas mis tous les formulaires que j'utilise, j'ai uniquement mis ceux qui sont utiles à ma problématique.

    Les utilisateurs voient les informations de l'entreprise (table sites) et les décideurs qui sont reliés à cette entreprise (table clients).

    L'entreprise à une activité précise mais celle-ci est rattaché au champ id_client_fk et pas au site. Je n'ai pas moyen de modifier cette relation car elle est utilisée sur le site internet et il faudrait des journées de travail pour modifier la relation.

    Le souci se pose donc sur le formulaire des activités : il est rattaché au site avec champ père/fils (id_site/id_site_fk) pour n'en visualiser qu'un. Cependant, lorsque je modifie le champ de la sous_activité, il y a uniquement le 1er client qui voit cette valeur modifié et pas tous les clients rattaché à ce site.

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Pas clair pour moi !

    Il y a des sites.

    Il y a des activités.

    Il y a des clients.

    Ne me parle pas des difficultés, explique-moi, avec des mots ou un dessin, ce que tu voudrais obtenir.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  9. #9
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2017
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Un client est attaché à un site avec le champ clients.id_site_fk
    Le client possède une activité avec le champ sites_activites.id_client_fk

    L'activité est la même pour tous les clients d'un même site, sauf que la relation est faite à partir du champ clients.

    Il faudrait donc que lorsqu'on change une activité, ces modifications soient effectives pour tous les clients d'un site.

    Exemple :

    Les clients 1,2,3 font partie du site n°1.
    L'activité est la même pour les 3 clients et ne peut pas être différente.
    Si je modifie la valeur de l'activité à partir de mon formulaire (FORM PRINCIPALE), la modification doit se faire sur les 3 lignes. (ce n'est pas le cas pour l'instant, la modification se fait uniquement sur la 1ere ligne)


    Est-ce plus clair maintenant ou ce n'est toujours pas le cas ?

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Désolé, je dois interrompre => retour après-midi.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  11. #11
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2017
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Pas de souci, ce n'est pas extrêmement urgent et j'apprécie le fait de m'aider dans ma problématique.

  12. #12
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Ce que je comprends à ce stade.
    Pour des raisons historiques, la notion d’activité est associée au client.
    Questions :
    - un client peut-il avoir plusieurs activités ?
    - un client peut-il changer d’activité ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  13. #13
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2017
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Pour des raisons historiques, la notion d’activité est associée au client.
    C'est exactement ça, et il serait mieux d'éviter de modifier cela si possible

    - un client peut-il avoir plusieurs activités ?
    C'est possible à partir du site internet de mettre plusieurs activités.
    Par contre, sur la base Access que les utilisateurs utilisent, la relation est 1 client = 1 activité (j'ai importé des données qui respectent ce critère).
    Mon cas est donc : un client n'a qu'une seule et unique activité associé.

    - un client peut-il changer d’activité ?
    Oui, certains activités sont erronées, c'est pour cela que ça serait idéal que lorsqu'on effectue une modification d'activité pour un client, tous les clients associés à cette même entreprise obtiennent la modification également.

  14. #14
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Donc, sur la db dont on parle, un site n'a qu'une seule activité !

    OK ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  15. #15
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Peut-il y avoir plusieurs sites qui ont la même activité ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  16. #16
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2017
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Donc, sur la db dont on parle, un site n'a qu'une seule activité !

    OK ?
    Oui, 1 site = 1 activité. Par contre, si tu effectues une modification et que tu vas dans sites_activites, tu verras qu'il y a uniquement le 1er client qui à sa ligne modifié.

    Peut-il y avoir plusieurs sites qui ont la même activité ?
    Oui, bien sûr. Il permet de regrouper les sites par secteur. On a environ 15 000 sites qui sont mises dans 72 sous-activités différentes.

  17. #17
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Oui, 1 site = 1 activité. Par contre, si tu effectues une modification et que tu vas dans sites_activites, tu verras qu'il y a uniquement le 1er client qui à sa ligne modifié.
    Oui, mais la structure de tes tables n'est pas correcte.



    Si je comprends, à l'heure actuelle tu as des incohérences entre l'activité du site et celles des clients associés à ce site.

    Et tu voudrais corriger en partant de l'idée que l'activité du site est celle de tous les clients associés à ce site.

    15 000 sites qui sont mises dans 72 sous-activités différentes.
    « sous-activités » ? Quelle différence entre « sous-activité » du site et « activité » du client ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  18. #18
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2017
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Pour ce qui est des champs sites.id_client_fk et clients.id_site_fk, il faut prendre uniquement la relation sites.id_site = clients.id_site_fk.

    Le champ sites.id_client_fk est null mais doit rester présent pour éviter des problèmes sur le site internet. Il ne faut pas le prendre en considération.

    Ensuite, pour relier un client à une activité, le champ sites_activites.id_client_fk permet de lier un client à une activité + une sous-activité.

    Les activités sont des thèmes, les sous-activités sont des sous-thèmes reliés à l'activité.

    Le champ activité est mis à jour automatiquement lorsqu'on ajoute une sous-activité.

    Le souci est donc : sur mon formulaire, la modification d'une sous-activité est produite sur le premier client du site et non pas à tous les clients du site.

    Et tu voudrais corriger en partant de l'idée que l'activité du site est celle de tous les clients associés à ce site.
    C'est exactement cela, lorsque j'effectue une modification d'activité, elle se répercute sur tous les clients du site auquel j'ai effectué le changement.

    PS : Tu peux essayer de faire le test sur la base que j'ai mise tout à l'heure en allant sur FORM PRINCIPALE et en modifiant la sous-activité. Tu verras la modification sur la table sites_activites mais uniquement pour l'un des clients et pas tous les clients du site.

  19. #19
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bon, pour corriger, il te faudrait donc un formulaire (père) qui affiche le site et un fils qui liste tous les clients associés à ce site.

    Dans le formulaire père une zone de texte affiche une activité. Lorsque l'utilisateur modifie cette zdt, le programme déclenche une requête de mise à jour de l'activité des clients associés avec l'activité du père.

    Quand ce travail de mise à jour sera accompli, il faudra s'assurer qu'il n'est plus possible d'associer un client à un site si leurs activités ne sont pas identiques.

    Est-ce correct ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  20. #20
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2017
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    J'essaye de modifier ça de mon côté et je vous tiens au courant si j'ai réussi ou non.

    Merci de votre aide.

Discussions similaires

  1. Réponses: 19
    Dernier message: 27/08/2003, 15h32
  2. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  3. Problème de requètes concurentes
    Par Emmanuel.G dans le forum XMLRAD
    Réponses: 3
    Dernier message: 08/08/2003, 16h51
  4. Réponses: 2
    Dernier message: 16/07/2003, 14h40
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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