因此,下面的语句工作正常,但是它将relation.CompletedID值设置为匹配电子邮件的第一个completed.CompletedID值。问题是这是购物车的记录,一个用户可能有多个完成的购物车。目标是将已完成的购物车正确匹配到关系表上的条目,该条目还包含废弃购物车和匹配客户数据的唯一值。
UPDATE relation INNER JOIN completed ON relation.email = completed.email
SET relation.CompletedID = completed.CompletedID, relation.hasconverted =
IF(STRCMP(relation.hasbeenmailed,'YES'),'NO','YES')
其余列的过程如下:
有四个表格:
不确定我还应该提供什么,但如果有人需要更多信息我可以编辑这篇文章。感谢您的帮助,这是整个过程中的最后一个错误。
以下是SQLFiddle的链接:http://sqlfiddle.com/#!2/abdc5/1
这是一个选择正确条目的语句:
SELECT *
FROM `relation`
WHERE ISNULL( CompletedID )
LIMIT 0 , 30