我有一个包含以下列的表:
对于用户可以提交资源并引用多位作者的应用程序。作者可以在提交作品中引用主要和次要作者,通常也会这样做。
有一种情况是用户(称他为用户111)提交了所有条目,将自己列为主要作者和实际作者作为次要作者。不幸的是,那个人已经离开了这个项目,所以它已经让我解决了这个问题(我必须在sql中完成它)。
我试图弄清楚如何构建查询来执行以下操作:
答案 0 :(得分:1)
试试这个解决方案:
UPDATE tbl a
INNER JOIN
(
SELECT subid
FROM tbl
GROUP BY subid
HAVING COUNT(*) > 1 AND SUM(author_id = 111) > 0
) b ON a.subid = b.subid
SET a.ordering = (a.author_id = 111)
将tbl
替换为您的实际表名。