DataCCIW

Alpha Sort Rock Setting Child Pages

Dec 30th, 2021 (edited)
1,237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 0.67 KB | None | 0 0
  1. BEGIN TRANSACTION AlphaSortPageOrder
  2.  
  3. /* Select all child pages whose grandparent has a child page with the name of "Rock Settings" */
  4. UPDATE dbo.Page
  5. SET [Order] = Alpha.AlphaOrder
  6. FROM dbo.Page P
  7. JOIN (
  8.     SELECT Parent.PageTitle AS ParentPageTitle
  9.         ,child.[Id]
  10.         ,child.pageTitle
  11.         ,RANK() OVER (
  12.             PARTITION BY child.ParentPageId ORDER BY child.pageTitle ASC
  13.             ) AS AlphaOrder
  14.         ,child.[Order]
  15.     FROM [dbo].[Page] GrandParent
  16.     JOIN dbo.Page Parent ON Parent.ParentPageId = GrandParent.Id
  17.     JOIN dbo.Page Child ON Child.ParentPageId = Parent.Id
  18.     WHERE GrandParent.PageTitle = 'Rock Settings'
  19.     ) Alpha ON Alpha.[Id] = P.[Id]
  20.  
  21. COMMIT TRANSACTION AlphaSortPageOrder
Add Comment
Please, Sign In to add comment