ホームページ >データベース >mysql チュートリアル >単一の ID 列を使用して複数の Zabbix テーブルからホスト名とテンプレート名を取得する方法

単一の ID 列を使用して複数の Zabbix テーブルからホスト名とテンプレート名を取得する方法

DDD
DDDオリジナル
2024-11-30 21:59:12386ブラウズ

How to Retrieve Host and Template Names from Multiple Zabbix Tables Using a Single ID Column?

単一 ID 列から複数のテーブルをクエリする

最近のクエリで、ユーザーはどのホストが Zabbix の特定のテンプレートを使用しているかを表示しようとしましたテーブル。ただし、ホストとテンプレートの両方が同じテーブルにリストされていたため、それらを区別することが困難でした。

この問題に対処するために、ユーザーはホストとテンプレート間の相関関係を提供する 2 番目のテーブル hosts_templates を参照しました。 hosts_templates テーブルには、host_template ID、ホスト ID、およびテンプレート ID の列が含まれており、ホストとテンプレート名の接続に必要なデータが提供されます。

ソリューション

目的目的の出力には、二重結合を含むクエリが必要です。

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

この例では、 query:

  • 分かりやすくするために、hosts_template テーブルには t というエイリアスが付けられています。
  • h1 は hosts テーブルを表し、h2 はテンプレート テーブルを表します。
  • SELECT 句は次の内容を取得します。最初の結合のホスト名 (h1.name) と 2 番目の結合のテンプレート名(h2.name).
  • 二重結合により、hosts_template テーブル内のホスト ID とテンプレート ID と、hosts テーブル内の対応するホスト名およびテンプレート名との間の接続が可能になります。

以上が単一の ID 列を使用して複数の Zabbix テーブルからホスト名とテンプレート名を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。