'How can I add an attribute to the root
Is there a way I can add the StartDate and EndDate variables to the Report node? I tried to add select @StartDate as 'StartDate',@EndDate as 'StartDate' after the ROOT('Report') but that returns a different result.
Looking for something like this?
<Report>
<StartDate>03/01/2022</StartDate>
<EndDate>03/30/2022</EndDate>
<Member>
<UserActivityLogID>179</UserActivityLogID>
<LogDate>03/10/2022</LogDate>
</Member>
<Member>
<UserActivityLogID>180</UserActivityLogID>
<LogDate>03/10/2022</LogDate>
</Member>
</Report>
sp
IF @StartDate IS NULL
BEGIN
SET @StartDate = DateAdd(dd, -90, GetDate())
END
IF @EndDate IS NULL
BEGIN
SET @EndDate = GetDate()
END
BEGIN
SELECT [UserActivityLogID]
,LogDate =Convert(varchar(10),[LogDate],101)
and LogDate BETWEEN @StartDate AND @EndDate
FROM [UserActivityLog]
order by LogDate desc
FOR XML PATH('Member'),
ROOT('Report')
END
Solution 1:[1]
At a best guess, with no meaningful sample data nor expected results, what you want is:
SELECT UserActivityLogID AS [Member/UserActivityLogID],
@StartDate AS [@StartDate],
@EndDate AS [@EndDate]
FROM dbo.YourTable --You didn't even have a from in your query
WHERE --This was also missing
LogDate >= @StartDAte
AND LogDAte <= @EndDate
FOR XML PATH ('Report');
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Larnu |
