Suggested edits by a specific user between two dates (multisite - only main sites)

1

Please login or register to vote for this query.

(click on this box to dismiss)

Bioinformatics

Q&A for researchers, developers, students, teachers, and end users interested in bioinformatics

declare @sql nvarchar(max)

create table #result (site sysname
                    , hostname sysname
                    , pid int
                    , sid int
                    , creationdate datetime
                    , approvaldate datetime
                    , rejectiondate datetime)

select @sql = N'insert into #result' + STRING_AGG(concat(N'
select ''', name ,N''' as site
     , ''',hostname ,N'''
     , s.PostId
     , s.Id     
     , s.creationdate
     , s.approvaldate
     , s.rejectiondate
     from ', quotename(name), N'.dbo.SuggestedEdits s inner join ',
       quotename(name), N'.dbo.users u on s.OwnerUserId=u.id and u.AccountId=',CAST(##AccountId:int## as nvarchar),      
    'where (s.CreationDate >= ''##Date1?2022-04-01##'') and (s.CreationDate <= ''##Date2?2022-06-01##'')
'),N' 
union all')
from (select convert(nvarchar(max),name) name
    -- , convert(nvarchar(max),sitename)  sitename
    -- , meta
    -- , domain
     ,  concat( 
        -- based on an idea from Glorfindel 
        -- https://meta.stackexchange.com/a/321181
        (case sitename
        WHEN 'Audio' THEN 'video'
        WHEN 'Beer' THEN 'alcohol'
        WHEN 'CogSci' THEN 'psychology'
        WHEN 'Garage' THEN 'mechanics'
        WHEN 'Health' THEN 'medicalsciences'
        WHEN 'Moderators' THEN 'communitybuilding'
        WHEN 'Photography' THEN 'photo'
        WHEN 'Programmers' THEN 'softwareengineering'
        WHEN 'Vegetarian' THEN 'vegetarianism'
        WHEN 'Writers' THEN 'writing'
        WHEN 'Br' THEN 'pt'
        WHEN 'Mathoverflow' THEN concat((meta+'.'), sitename)
        ELSE case when sitename = domain then null else sitename end
        end +'.')
        , (case 
           when sitename <> 'mathoverflow' then (meta+'.') 
           else null 
           end) 
        , (case 
           when sitename <> 'mathoverflow' then concat((domain + '.'), 'com') 
           else 'net' 
           end)
        ) hostname
from (
select name
, case parsename(name,1) 
  when 'Meta' then parsename(name,2)
  else parsename(name,1) 
  end [sitename]
, case parsename(name,1) 
  when 'Meta' then 'meta'
  else null
  end [meta]
  , coalesce(parsename(name,3), parsename(name,2)) [domain]
from sys.databases
where (database_id > 5)
  and NOT(name like '%.Meta')
) dbs
) dbsall

exec (@sql)



select top(##num?500##)
  site, hostname, 
  CASE
    WHEN ApprovalDate IS NOT NULL THEN 'Approved'
    WHEN RejectionDate IS NOT NULL THEN 'Rejected'
  END,  
  concat('https://',hostname,'/suggested-edits/',CAST(sid AS varchar)) AS [Suggested Edit],
  concat('https://',hostname,'/posts/',CAST(pid AS varchar),'/revisions') AS [Revisions],
  creationdate,
  approvaldate, rejectiondate
from #result
order by creationdate DESC

Enter Parameters

Options:
Switch to meta site
loading Hold tight while we fetch your results