我有一个包含以下列的表格:
- subid - 资源的 ID
- authorid - 作者的 ID
- 排序 - 引文中作者的顺序
对于用户可以提交资源并引用多个作者的应用程序。作者可以在提交的文章中引用主要作者和次要作者,而且通常会这样做。
有一种情况,用户(称他为用户 111)提交了所有条目,将他自己列为主要作者,将实际作者列为次要作者。不幸的是,那个人已经离开了这个项目,所以我必须解决这个问题(我必须纯粹在 sql 中完成)。
我试图弄清楚如何构建查询来执行以下操作:
- 查找所有条目
- subid 值在表中多次出现的位置
- 其中至少一个授权值是 111
- 其中 111 的排序大于任何不是 111 的用户的排序并更新它们
- not(111) 作者的排序为“0”
- 并且 111 作者订购了“1”