Zabbix データベース管理の領域では、データが混合された方法で保存されている場合、意味のある情報を抽出することが課題になる可能性があります。このクエリは、両方のエンティティが同じテーブル内に含まれているにもかかわらず、どのホストが特定のテンプレートを使用しているかを示す戦略を説明しようとしています。
このパズルを解くために、関係を説明する hosts_templates として知られる追加のテーブルを使用します。ホストとテンプレートの間。これは、host_template_id、hostid、templateid の 3 つの列で構成されます。ただし、私たちの主な焦点は、hostid と name などの多数の列を含む hosts テーブルです。
私たちの目標は、hosts_templates テーブルで観察される ID 値に関連付けられた名前を明らかにすることです。これを達成するために、複数の結合の力を利用する複雑な SQL クエリに着手します。次のコード スニペットは、解決策を簡潔に示しています。
SELECT h1.name AS host_name, h2.name AS template_name FROM hosts_template AS t JOIN hosts AS h1 ON t.hostid = h1.hostid JOIN hosts AS h2 ON t.hosttemplateid = h2.hostid;
ホスト テーブル (h1 と h2) に別個のエイリアスを割り当てることで、それらを明確に区別できます。 h1 はホストを表し、h2 はテンプレートを表します。この区別により、両方の名前を取得し、それに応じて表示することができます。
この独創的なソリューションは、ホストとテンプレート間の関係の包括的なビューを提供し、Zabbix インフラストラクチャ管理に対するさらなる分析と実用的な洞察への道を開きます。
以上が単一の MySQL クエリを使用して、Zabbix の「hosts」テーブルと「hosts_templates」テーブルからホスト名とテンプレート名を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。