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
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.
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...
Pas d'aide concernant le code par MP, le forum est là pour ça :)
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli