我有一个表如下:
这是此选择的结果:
SELECT ParentID, ID, [Default], IsOnTop, OrderBy
FROM [table]
WHERE ParentID IN (SELECT ParentID
FROM [table]
GROUP BY ParentID
HAVING SUM([Default]) <> 1)
ORDER BY ParentID
Run Code Online (Sandbox Code Playgroud)
现在,我想要做的是:对于每个ParentID组,将其中一行设置为默认值 ( [Default] = 1),其中使用以下逻辑选择该行:
如果组有一行,IsOnTop = 1则取此行,否则取前 1 行订购OrderBy。
我完全不知道如何在 SQL 中执行此操作,并且我有超过 40 个这样的组,因此我想向您寻求帮助,最好对您的查询进行一些解释。