Comment dit un champ prend plusieurs valeur SQL

meriem -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Bonjour à tous,
J'ai besoin de votre aide s'il vous plaît
Je voulais faire un matching entre les utilisateurs a travers vos demandes par ex quelq'un propose Anglais et Français et demande Espagnol et l'autre propose Espagnol et demande Anglais et Français ou demande juste anglais ou juste français
Quand j'ai fait une requête pour trouver les doublons entre deux colonnes (service proposer et service demander) . Et la résultat de la requête est juste où les champs est 100% la même chose c'est à dire il faut que le deuxième utilisateur demande Anglais et Français.
Merci

Configuration: Android / Chrome 84.0.4147.125

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    1 - Ta question concernant les requêtes... et non le code php à proprement parlé... je déplace dans le forum mysql ( car je suppose que ta bdd est en mysql)

    2 - On ne sait rien de la structure de ta bdd... montres nous la structure de ta table

    3 - On ne sait rien de ce que tu as essayé comme requête : Montres nous ce que tu as essayé de faire

    NB: Pour nous poster ta requête, tu devras utiliser les BALISES DE CODE.
    Explications ( A LIRE ENTIEREMENT avant de poster ton code !!! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    0
    1. meriem
       
      Ma requête pour trouver les utilisateurs qui ont les services opposé entre eux "SELECT * FROM users AS tab INNER JOIN (SELECT service_proposer, service_demander FROM users WHERE id = :id GROUP BY service_proposer, service_demander ) AS sub ON sub.service_proposer=tab.service_demander AND sub.service_demander=tab.service_proposer";

      Dans ma table users : service_proposer varchar 100, service_demander varchar 100( et j'ai travaillé la possibilité de sélectionner plusieurs services avec checkbox.)
      Donc je veux quand il trouve un utilisateur qui à au moins un service opposé à l'utilisateur actuel il l'affiche
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > meriem
       
      Où sont les balises de code dont, pourtant, je t'ai donné le lien ...??
      0
    3. meriem
       
      Je veux une requête qui fait la différence entre les services proposés et demandés par les utilisateurs
      0
    4. meriem > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Je ne sais pas comment travailler avec
      0
    5. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > meriem
       
      Tu sais lire ?
      Si oui, il suffit de lire le contenu du lien que je t'ai donné
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Donc....
    Ta question concerne uniquement la requête SQL
    SELECT * 
    FROM users AS tab 
    INNER JOIN (
      SELECT service_proposer, service_demander 
      FROM users
       WHERE id = :id
       GROUP BY service_proposer, service_demander ) AS sub 
      ON sub.service_proposer=tab.service_demander 
         AND sub.service_demander=tab.service_proposer
    


    L'as tu testé DIRECTEMENT dans ta BDD ( via phpmyadmin par exemple) pour voir ce qu'elle te retournait ?
    En quoi n'est-elle pas bonne ?
    (montre nous le résultat de cette requête exécutée dans phpmyadmin puis expliques nous ce qui ne te convient pas et ce que tu souhaites obtenir... )
    Il faudrait également nous montrer ce que contiennent tes différents champs...
    en nous montrant par exemple le résultat de la requête suivante :
     SELECT id , service_proposer,  service_demander 
      FROM users
    


    Et à la limite, tu pourrais même nous fournir un DUMP (structure + données) de ta table...

    .
    0
    1. meriem
       
      Bonjour,
      phpmyadmin ne fait pas la différence entre les case à cocher par ex Anglais, Français quand j'ai fait cette requête n'existe pas une différence entre Anglais et Français
      Aidez-moi
      Merci
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > meriem
         
        Quand tu répondras à mes questions on pourra peut-être avancer .......
        en attendant, impossible pour nous de t'en dire plus.
        0
      2. meriem > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Bonjour,
        Pouvez-vous m'expliquer plus en détail quelles informations vous souhaitez et comment puis-je les partager avec vous?
        Parce que je ne sais pas, que je suis nouveau ici
        Merci beaucoup
        0