【发布时间】:2019-11-21 12:33:16
【问题描述】:
我有以下 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”
Select b.LocationID, b.Model, b.SerialNum, a.Purpose, a.IP, b.Services,b.DeviceID,c.applications,c.OS, Count(a.Hostname)
FROM RefConnection.Equipment_Info b JOIN
RefConnection.Connections a
ON a.Hostname = b.Hostname AND
a.status = b.Status JOIN
RefConnection.VM_Info c
ON b.Hostname = c.Hostname AND
b.status = c.Status
group by b.LocationID, b.Model, b.SerialNum, a.Purpose, a.IP, b.Services, b.DeviceID, c.applications, c.OS
order by COUNT(b.Hostname)desc;
运行此查询 - 期望 a 显示连接来自 RefConnection 的所有 3 个表的输出,因为所有 3 个表(Connections、Equipment_info、VM_Info)包含(主机名、状态)。 (Equipment_Info 和 VM_Info) 表包含 (LocationID, OS)。尝试获取应该与位置 ID 和相应操作系统信息相关联的唯一(不同)主机名及其状态。不知道我哪里出错了?
【问题讨论】:
-
这与 Oracle 有什么关系?