Je voudrais mettre à jour une table dans mySql avec les données d'une autre table.
J'ai deux tables "people" et "business". La table des personnes est liée à la table des entreprises par une colonne appelée "business_id".
La structure de table nécessaire, la clé primaire est précédée (Table: colonnes): Personnes: * business_id, * sort_order, emailBusiness: * business_id, email
J'aimerais mettre à jour la colonne e-mail de la table métier avec celle de la table des personnes, quelque chose comme ceci (je sais qu'il me manque quelque chose ici):
UPDATE business b SET email = (SELECT email from People p where p.business_id = b.business_id AND sort_order = '1') WHERE b.email = '';
Est-ce que ça a du sens? C'est possible?
UPDATE business b, people p
SET b.email = p.email
WHERE b.business_id = p.business_id
AND p.sort_order = '1'
AND b.email = ''
Notez que si sort_order est un INT, alors n'utilisez pas '1' - utilisez 1:
UPDATE business b
JOIN People p
ON p.business_id = b.business_id
AND p.sort_order = '1'
SET b.email = p.email
WHERE b.email = '';
Essayez ceci, cela fonctionne bien pour moi.
Update table a, table b
Set a.importantField = b.importantField,
a.importantField2 = b.importantField2
where a.matchedfield = b.matchedfield;