Partage
  • Partager sur Facebook
  • Partager sur Twitter

Inverser requête SQL

Sujet résolu
    1 juillet 2022 à 9:40:42

    Bonjour,

    Question toute bête : j'ai une requête SQL qui me retourne des résultats mais j'aimerai "INVERSER" le sens de cette requête. En gros, avoir les résultats qui ne répondent pas à ces critères.

    C'est simplement un problème de logique que je n'arrive pas trop à résoudre : j'aimerai récupérer les matchs dont l'ID n'est pas dans la table wp_postmeta. Avec la requête suivante je récupére tous les matchs dont l'ID se trouve dans la table wp_postmeta justement....

    SELECT
    			m.id as id_match,
    			m.datematch,
    			m.ID_equipe,
    			m.ID_lieu,
    		    m.presse,
    			e.nom_equipe,
    			e.abrev_equipe,
    		       wp.meta_value,
    wp.meta_key
    		FROM
    			equipes e
    		INNER JOIN 
    			matchs m
    		ON 
    			m.ID_equipe = e.ID
    		INNER JOIN
    			    wp_postmeta wp
    		ON 
    		    wp.meta_value = m.id
    		WHERE 
    			e.ID =1
    		AND 
    		      m.ID_lieu != 3
    AND wp.meta_key = "_select_match_from_db"
    		ORDER BY 
    			m.datematch DESC



    Merci de votre aide

    • Partager sur Facebook
    • Partager sur Twitter
      1 juillet 2022 à 9:42:23

      Bonjour,

      Déplacement vers un forum plus approprié

      Le sujet est déplacé de la section PHP vers la section Base de données

      • Partager sur Facebook
      • Partager sur Twitter

      Pas d'aide concernant le code par MP, le forum est là pour ça :)

        1 juillet 2022 à 10:26:49

        Plus d'explication sur mon problème :

        j'ai une table matchs avec en gros des ID. Ces ID sont répétés dans la table wp_postmeta en fonction de ce qu'on rentre sur le site. Donc j'ai :

        • des ID de matchs qui sont dans wp_postmeta ET dans matchs
        • des id de matchs qui ne sont QUE dans matchs.

        J'aimerai faire une requête pour récupérer ceux qui sont UNIQUEMENT dans matchs.

        -
        Edité par zazzou 1 juillet 2022 à 10:27:13

        • Partager sur Facebook
        • Partager sur Twitter
          1 juillet 2022 à 11:14:23

          LEFT JOIN wp_postmeta wp au lieu de INNER JOIN wp_postmeta wp + ajouter dans le WHERE la condition wp.meta_value IS NULL ?

          • Partager sur Facebook
          • Partager sur Twitter
            1 juillet 2022 à 13:31:11

            Bonjour,

            Si j'ai compris la même chose que julp, et pour être plus démonstratif :

            SELECT
            	m.id as id_match,
            	m.datematch,
            	m.ID_equipe,
            	m.ID_lieu,
            	m.presse,
            	e.nom_equipe,
            	e.abrev_equipe,
            	wp.meta_value
            FROM
            	matchs m
            		INNER JOIN equipes e
            			ON m.ID_equipe = e.ID
            		LEFT JOIN wp_postmeta wp
            			ON wp.meta_value = m.id
            			AND wp.meta_key = "_select_match_from_db"
            WHERE
            	e.ID =1
            	AND m.ID_lieu != 3
            	AND wp.meta_value IS NULL
            ORDER BY m.datematch DESC

            J'ai enlevé du SELECT les colonnes de la table wp_postmeta qui seront toujours NULL ici.

            -
            Edité par Benzouye 1 juillet 2022 à 13:32:16

            • Partager sur Facebook
            • Partager sur Twitter
            Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
              1 juillet 2022 à 14:09:57

              Aaaah yes ! Okay :-)

              C'est tout bête... J'avais réussi différemment mais de manière un peu tordue donc c'est super comme ça !

              Par contre, autre demande, car en fait cette requête me permet de remplir une liste déroulante. Mais j'aimerais conserver dans ma liste déroulante celui qui a été choisi. Donc c'est un id_match qui est présent dans la table wp_postmeta.

              Du coup cela revient à faire une sorte d'exception où je veux tous les ID matchs qui sont seulement dans matchs et pas dans wp_postmeta SAUF celui en cours qui peut être identifié par son post_id que j'ai dans wp_postmeta...

              Merci beaucoup de vos pistes.

              EDIT.

              En ajoutant ceci il me semble que cela marche :

              OR wp.post_id = 98

              -
              Edité par zazzou 1 juillet 2022 à 14:19:47

              • Partager sur Facebook
              • Partager sur Twitter
                1 juillet 2022 à 14:21:08

                Rien compris 😂

                Peux-tu expliquer plus précisément ? Avec des copies d'écran par exemple ...

                • Partager sur Facebook
                • Partager sur Twitter
                Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                  1 juillet 2022 à 14:21:56

                  Ah ah ! Ouais ce n'était pas clair, mais j'ai édité mon message précédent et ai trouvé la solution ^^
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Inverser requête SQL

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  • Editeur
                  • Markdown