Je souhaite extraire des données de trois tables, mais si les données n'existent pas dans la troisième table, les données des deux autres tables doivent être extraites.Données provenant de trois tables
J'ai une question maintenant:
SELECT m.name, m.zipcode, p.lat, p.lon, meta.meta_value
FROM members AS m
INNER JOIN zipcodes AS p ON m.zipcode = p.zipcode
INNER JOIN usermeta AS meta ON m.id = meta.id
WHERE m.zipcode = p.zipcode AND meta.meta_key = 'image' m.country = "USA"
m.id
et meta.id
n'existent pas pour tous.
Pour ceux qui ont m.id
, "image" n'existe pas pour tous.
Je veux tirer les données des 2 autres tables indépendamment de l'existence de "image" et m.id
.
Comment puis-je faire cela?
Merci! Mieux, mais toujours pas correct! :-(J'obtiens environ 218 lignes de 313. – Helge
pas correct? Quelles lignes sont omises? Essayez coalesce toutes les colonnes dans la clause where: WHERE COALESCE (meta.meta_key, 'image') = 'image' ET COALESCE (m.country, 'USA') = 'USA' (notez que j'ai supprimé m.zipcode = p.zipcode car déjà écrit dans la clause ON) – YudhiWidyatama
Même résultat après ce changement! Peut-il avoir quelque chose à voir avec le fait que tous les utilisateurs n'ont pas un m.id qui correspond au meta.id? Certains utilisateurs n'existent que dans la table des membres, mais ils n'ont pas ce type particulier d'ID, s'ils n'ont pas de member.id, ils ne le font pas non plus. avoir un méta-code – Helge