我们有2个TSQL查询,每个查询都从count语句中返回一个数字:
select count(*)
from
(select
*,
row_number() over (partition by Username order by EntryDatetime desc) as seqnum
from [log]) t
where
seqnum = 1
and EventDesc in ('Logon', 'reconnection');
select COUNT(*)
from
(select
*,
row_number() over (partition by Username order by EntryDatetime desc) as seqnum
from [log]
where EntryDatetime > convert(varchar(255), dateadd(month, -1, getdate()), 121)) t
where
seqnum = 1;
我们如何将两个结果组合起来创建1个XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<item>15</item>
<min>
<value>0</value>
<text>Min Users</text>
</min>
<max>
<value>30</value>
<text>Max Users</text>
</max>
</root>
我们尝试过使用xpshell和bcp,但无法看到2个查询的结果如何用于制作相同的XML文件?
答案 0 :(得分:2)
您可以使用FOR XML子句在TSQL中完成所有操作,无需尝试在外部组合2个结果集。
; with cte as (
select 15 as i, 0 as v, 'Min Users' as t
union all
select null as i, 30 as v, 'Max Users' as t
)
select
i as [item],
v as [min/value],
t as [min/text]
from
cte
for xml path (''), root ('root')