0

我正在尝试将以下查询合并为一个,但是无论我尝试过什么似乎都无法正常工作。它的想法是将排序列表插入到具有自动递增字段的临时表中,然后获取新列表,然后使用更新的值更新原始表。

INSERT INTO `TempRank` (`id`, `power`) 
SELECT `Rankable`.`id`, `Rankable`.`SA` AS `power` 
FROM `Rankable` 
INNER JOIN `Accounts` ON `Accounts`.`id` = `Rankable`.`id`
WHERE `Accounts`.`active` = '1' 
ORDER BY `power` DESC;

UPDATE `Rankable`, `TempRank`
SET `Rankable`.`id` = `TempRank`.`id`, 
    `Rankable`.`Rank` = `TempRank`.`Rank`
WHERE `Rankable`.`id` = `TempRank`.`id`

非常感谢您提供任何信息,我将在等待您的回答的同时继续努力,并将更新您的发现。谢谢你的帮助!

4

1 回答 1

0
UPDATE rankable r INNER JOIN temprank t ON r.id=t.id SET r.rank=t.rank
于 2013-03-25T19:50:33.783 回答