You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询所有主机组及其关联主机(含无关联组)?

解决方案:获取所有主机组及关联主机信息(含无关联场景)

完全可行,只需通过**左连接(LEFT JOIN)**结合空值处理函数即可实现需求,具体SQL语句如下:

SELECT
    hg.groupid,
    hg.groupname,
    COALESCE(h.hostid, 'none') AS hostid,
    COALESCE(h.hostname, 'none') AS hostname
FROM
    host_groups hg
LEFT JOIN
    relation_host_hostgroup rhhg ON hg.groupid = rhhg.groupid
LEFT JOIN
    hosts h ON rhhg.hostid = h.hostid;

关键逻辑说明:

  • 使用LEFT JOIN关联主机组表与关联表、主机表:这会保留host_groups中的所有记录,即使对应的关联表或主机表没有匹配数据
  • COALESCE()函数:用于处理空值,当关联的主机字段(hostid/hostname)为NULL时(即主机组无关联主机),自动返回指定的默认值'none';若存在关联主机,则返回实际的主机字段值

如果某个主机组关联了多个主机,该语句会返回多行对应不同主机的记录;无关联主机的组则仅返回一行,且hostid和hostname显示为none。

内容的提问来源于stack exchange,提问作者Niko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 20:36:23