Citrix SQL数据如何进行多表联查

眼前多少难甘事,自古男儿当自强。这篇文章主要讲述Citrix SQL数据如何进行多表联查相关的知识,希望能为你提供帮助。
【Citrix SQL数据如何进行多表联查】除了通过DDC控制台查看登陆用户相关信息,我们还可以通过Citrix 连接的SQL数据库去查看。通过数据库去查看,可以看到更多的信息。
这里示例一个多表查询案例。

--查询用户历史会话信息
SELECTtop(20)
c.Clientname 客户端名称,
c.ClientAddress 客户端IP地址,
m.Name AS VDI桌面,
u.UserName AS 用户名,
c.Protocol 协议,
c.IsReconnect,
s.startDate AS SessionStartdate,
c.logonenddate,
c.disconnectdate,
s.enddate AS SessionEndDate,
c.sessionkey
FROM
[CitrixRofficeMonitoring].[MonitorData].[Connection] AS [c]
LEFT JOIN [CitrixRofficeMonitoring].[MonitorData].[Session] AS [s] ON s.SessionKey = c.SessionKey
LEFT JOIN [CitrixRofficeMonitoring].[MonitorData].[Machine] AS [m] ON s.MachineId = m.Id
LEFT JOIN [CitrixRofficeMonitoring].[MonitorData].[User] AS [u] ON s.UserId = u.Id
WHERE c.Protocol=HDXAND u.UserName=dengpengand m.Name is not null
ORDER BY S.StartDate DESC

如下再做一个注释
--查询用户历史会话信息
SELECTtop(20)##如下表示要查询显示的参数
c.Clientname 客户端名称,##显示客户端名字,别名为客户端名称
c.ClientAddress 客户端IP地址,
m.Name AS VDI桌面,
u.UserName AS 用户名,
c.Protocol 协议,
c.IsReconnect,
s.startDate AS SessionStartdate,
c.logonenddate,
c.disconnectdate,
s.enddate AS SessionEndDate,
c.sessionkey###需要查询什么就添加,注意最后显示一行的不需要加标点符号,按下数据库别名后,会自动弹出搜索框
FROM##多表进行联查,LEFT代表左连接,显示以左边为准
[CitrixRofficeMonitoring].[MonitorData].[Connection] AS [c]##数据库别名为c,这里需要注意,请替换为实际数据库名称后进行查询。
LEFT JOIN [CitrixRofficeMonitoring].[MonitorData].[Session] AS [s] ON s.SessionKey = c.SessionKey##数据库别名为sc连接到s表
LEFT JOIN [CitrixRofficeMonitoring].[MonitorData].[Machine] AS [m] ON s.MachineId = m.Id##数据库别名为m
LEFT JOIN [CitrixRofficeMonitoring].[MonitorData].[User] AS [u] ON s.UserId = u.Id####数据库别名为u
--WHERE c.Protocol=HDX##过滤连接协议AND u.UserName=dengpeng##过滤用户名and m.Name is not null
ORDER BY S.StartDate DESC

注意代码前面加上-- 代表注释

如下图,用SQL客户端连接数据库后,新建查询,按Ctrl+F键进行查询替换为实际数据库名称





    推荐阅读