MySQL Rejoindre la même table
J'ai la table 'meta_data" avec les champs suivants:
- id
- post_id
- meta_key
- meta_value
Je tiens à boucle et d'affichage d'une liste de CHAQUE post (post_id
) qui comporte une entrée pour meta_key='abc'
mais pas un pour meta_key='def'
Au fond, tous les post qui a un meta_key='abc'
entrée devrait ont un meta_key='def'
entrée. Je veux générer la liste, de sorte que je peux ajouter le manque meta_key='def'
entrées.
source d'informationauteur execv
Vous devez vous connecter pour publier un commentaire.
D'arriver à cela, vous devez utiliser le JOINTURE EXTERNE GAUCHE opération rejoindre le même tableau.
Faire un externe (à gauche) joindre à lui-même, le filtrage sur les enregistrements qui ne pas match par la recherche pour les lignes avec une valeur null id dans la table jointe: