我将大规模感激,如果有人可以帮我写一个查询来更新我们的订单系统,由于重复数据删除的问题那里duplictaes。如何更新一个表中的行中的另一个
我们有一个订单表和客户表。
我在我们的客户表中找到了一些重复的行,其中电子邮件地址和密码在唯一行上是相同的 - 并且与每个表中存在的CustomerNumber的唯一活动订单相关联。这很糟糕,因为当客户登录到他们的账户时,他们不会看到他们的所有订单,他们只会看到与最高客户ID关联的订单(请参阅下面的登录SQL)
识别重复用户帐户:
SELECT
emailaddress,
PASSWORD,
count(*)
FROM
scustomers
JOIN orders ON orders.customernumber = customers.CustomerNumber
WHERE Completed = 1
GROUP BY
emailaddress,
PASSWORD
HAVING
count(*) > 1
登录SQL:
SELECT * FROM scustomers WHERE EmailAddress = :EmailAddress AND (Password = :Password) ORDER BY CustomerNumber DESC LIMIT 0,1
我需要编写一个查询:
- 更新的“订单”表
- 更新了“CUSTOMERNUMBER”列
- 设置“CUSTOMERNUMBER”一栏是最高的“CUSTOMERNUMBER”
- 这里的“客户”表中有超过1行与有一个 相同的“电子邮件”和“密码”列
我从哪里开始?
我们的系统已经修复,因此,任何客户的订单通过登录将始终使用最高的相关CUSTOMERNUMBER所以这真的是有关解决现有数据的新产品。
UPDATE:
我从来没有使用SQL小提琴,但这里是我希望能帮助你..帮我一些样本数据!
客户:
CUSTOMERNUMBER,电子邮件,密码
3272,[email protected],9a098e0bade9b4f2ac4ecdf86111cf7e
10001,[email protected],9a098e0bade9b4f2ac4ecdf86111cf7e
订单:
订单编号,CUSTOMERNUMBER,状态
123457,3272, 'LIVE'
123456,10001, 'LIVE'
我需要更新订单号码:123457有10001为CustomerNumber,不是3272。
你能否提供与sqlFiddle一些示例数据? – 2014-10-10 09:46:06
sql小提琴将非常有用! – developerCK 2014-10-10 09:54:22
示例数据添加到问题中。感谢您的期待! – 2014-10-10 10:02:50