gpt4 book ai didi

mysql - 'b.Hostname' 中的未知列 'on clause'

转载 作者:行者123 更新时间:2023-11-29 07:19:34 25 4
gpt4 key购买 nike

我有以下 MYSQL 查询 - 尝试连接 3 个表并查找唯一信息(数据)

SELECT a.LocationID, a.Model, a.SerialNum,a.Purpose, b.IP, a.Services,a.DeviceID, COUNT(a.Hostname)
FROM RefConnection.Equipment_Info a, RefConnection.Connections b, RefConnection.VM_Info c
JOIN Equipment_Info on b.Hostname = a.Hostname
WHERE a.Hostname = c.Hostname
AND b.status = a.Status
AND a.status = c.Status
GROUP BY a.LocationID, a.Model, a.SerialNum, a.Purpose, b.IP, a.Services, a.DeviceID
ORDER BY COUNT(b.Hostname)DESC;

这适用于 2 个表:

SELECT d.locationID, d.Model, d.SerialNum, d.Status, da.IP, COUNT(d.HOSTNAME)
FROM RefConnection.Equipment_Info d, RefConnection.Connections da
WHERE d.Hostname = da.Hostname
AND d.Status = da.Status
Group By d.locationID, d.Model, d.locationID, d.Model, d.SerialNum, d.Status, da.IP
ORDER BY COUNT(da.Hostname) DESC;

“on 子句”中的未知列“b.Hostname”

最佳答案

永远不要FROM 子句中使用逗号。 始终使用正确、明确、标准 JOIN 语法。

FROM RefConnection.Equipment_Info a JOIN
RefConnection.Connections b
ON b.Hostname = a.Hostname AND
b.status = a.Status JOIN
RefConnection.VM_Info c
ON a.Hostname = c.Hostname AND
a.status = c.Status

您的问题是标识符的范围规则。这与您对逗号的预期不同——这是避免使用逗号的另一个原因。

我不知道 Equipment_Info 在查询中第二次做了什么。

我还强烈建议您使用有意义的表别名,例如 eci 而不是任意字符。

关于mysql - 'b.Hostname' 中的未知列 'on clause',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56992341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com