SQL 将第三个值添加到 SELECT 时加入不起作用

SQL Join is not working when adding a third value to SELECT

慢慢地疯狂想知道为什么我的 SQL 查询使用 2 个 SELECT 变量,而不是 3 个。这正在 Solarwinds 中使用。

SELECT TOP 20 ROUND(AVG(t1.Availability), 2) as Average_Availability, t2.Caption as Node_Name
FROM Orion.ResponseTime t1
LEFT JOIN Orion.Nodes t2 ON t1.NodeID=t2.NodeID
GROUP BY Node_Name ORDER BY Average_Availability

但是当我从同一个 table 向 SELECT 语句添加另一个值时,我加入了 (Orion.Nodes),例如:

    SELECT TOP 20 ROUND(AVG(t1.Availability), 2) as Average_Availability, t2.Caption as Node_Name, 
t2.Status as CurrentStatus
    FROM Orion.ResponseTime t1
    LEFT JOIN Orion.Nodes t2 ON t1.NodeID=t2.NodeID
    GROUP BY Node_Name ORDER BY Average_Availability

它完全停止工作。我觉得答案就在眼前,但我想不通。我想我需要另一个 JOIN 函数,但不确定如何将值与 t1.NodeID

匹配

此查询聚合行以计算 AVG(),但您仅按其他字段之一 Node_Name 进行分组。您需要将 CurrentStatus 添加到 GROUP BY 列表

您缺少需要添加到分组依据的当前状态列,因为这是您的 select 语句的一部分。之后尝试 运行 它,错误应该会消失!