J'ai deux tables qui ont été construites pour deux systèmes disparates. J'ai des enregistrements dans une table (appelés "leads") qui représentent les clients et des enregistrements dans une autre table (appelée "manager") qui sont exactement les mêmes clients mais "manager" utilise des champs différentsMySQL: déclaration de jointure complexe impliquant deux tables et une troisième table de corrélation
(Par exemple, "leads" "contient une adresse e-mail, et" manager "contient deux champs pour deux e-mails différents - dont l'un peut être l'email de" leads "). J'ai donc créé une table de corrélation qui contient le lead_id et le manager_id. actuellement cette table de corrélation est vide. J'essaie d'interroger la table "leads" pour me donner des enregistrements qui correspondent à un champ email "manager" avec le seul champ email "leads", tout en ignorant les champs qui ont déjà été ajoutés au Table "corrélée". (Cette façon, je peux voir combien de pistes qui correspondent à n'ont pas encore été mise en corrélation.) Voici mon SQL actuelle, invalide tentative:
SELECT leads.id, manager.id
FROM leads, manager
LEFT OUTER JOIN correlation ON correlation.lead_id = leads.id
WHERE correlation.id IS NULL
AND leads.project != "someproject"
AND (manager.orig_email = leads.email OR manager.dest_email = leads.email)
AND leads.created BETWEEN '1999-01-01 00:00:00' AND '2010-05-10 23:59:59'
ORDER BY leads.created ASC;
Je reçois l'erreur: Unknown column « leads.id » dans « sur la clause »
Avant de vous demander: il existe des enregistrements dans la table "leads" où leads.project! = "Someproject" et leads.created tombe entre ces dates. J'ai inclus ces paramètres supplémentaires pour l'exhaustivité.
Pls sortie poste de 'LEADS' DESC: http://dev.mysql.com/doc/refman/5.0/en/describe.html –