-1

如何从该查询中正确数量的行返回所有数据。我有它, for row in results['results']: print(row)但我确定那是错误的,因为当我在 sql 中运行它时,它会返回更多。提前致谢!

results = swis.query("SELECT "
                 "n.Caption AS NodeCaption"
                 ",n.IP_Address AS IPAddress"
                 ",n.NodeID"
                 ",a.ApplicationID "
                 ",n.Uri AS NodeUri "
                 ",n.Uri AS AppUri "
                 "FROM Orion.Nodes n "
                 "JOIN Orion.APM.Application a ON n.NodeID = a.NodeID "
                 "JOIN Orion.APM.ApplicationTemplate at ON a.ApplicationTemplateID = at.ApplicationTemplateID "
                 "WHERE at.Name IN('Process_Monitor - Dynatrace Linux OneAgent', 'Service_Monitor - Dynatrace"
                 "OneAgent Service')")

for row in results['results']:
print(row)
4

1 回答 1

0

查询的结构在 select 语句之间有太多空格。重写了查询,它按预期工作。

query = ("SELECT\n"
         "n.Caption AS NodeCaption\n"
         ",n.IP_Address AS IPAddress\n"
         ",n.NodeID\n"
         ",a.ApplicationID\n"
         ",n.Uri AS NodeUri\n"
         ",a.Uri AS AppUri\n"
         "FROM Orion.Nodes n\n"
         "JOIN Orion.APM.Application a ON n.NodeID = a.NodeID\n"
         "JOIN Orion.APM.ApplicationTemplate at ON a.ApplicationTemplateID = at.ApplicationTemplateID\n"
         "WHERE at.Name IN ('Process_Monitor - Dynatrace Linux OneAgent', 'Service_Monitor - Dynatrace OneAgent "
         "Service')")
于 2020-06-08T16:10:58.950 回答