Skip to content

Instantly share code, notes, and snippets.

@spy86
Created December 18, 2018 19:14
Show Gist options
  • Save spy86/172c0c3602a636d65d6f1edcd8eeee3f to your computer and use it in GitHub Desktop.
Save spy86/172c0c3602a636d65d6f1edcd8eeee3f to your computer and use it in GitHub Desktop.
SELECT LockUsername, COUNT(*) AS TotalLocks
FROM
(
SELECT DISTINCT i.ID AS ItemID, i.Name AS ItemName, FieldItem.Name AS FieldName, f.Value AS FieldValue,
TemplateItem.ID AS TemplateID, TemplateItem.Name AS TemplateName,
SUBSTRING(f.Value, CHARINDEX('owner="', f.Value) + 7, CHARINDEX('"', SUBSTRING(f.Value, CHARINDEX('owner="', f.Value) + 7, LEN(f.Value) - CHARINDEX('owner="', f.Value) + 7)) - 1) AS LockUsername,
SUBSTRING(f.Value, CHARINDEX('date="', f.Value) + 7, CHARINDEX('"', SUBSTRING(f.Value, CHARINDEX('date="', f.Value) + 7, LEN(f.Value) - CHARINDEX('date="', f.Value) + 7)) - 1) AS LockDate
FROM dbo.Items i
INNER JOIN dbo.Fields f ON i.ID = f.ItemId
INNER JOIN dbo.Items FieldItem ON FieldItem.ID = f.FieldId
INNER JOIN dbo.Items TemplateItem ON TemplateItem.ID = i.TemplateID
WHERE FieldItem.Name = '__Lock'
) data
GROUP BY LockUsername
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment