Zabbix テーブルでどのホストがどのテンプレートを使用しているかを表示したいこのクエリを見つけようとしています。唯一の問題は、ホストとテンプレートが同じテーブルに登録されていることです。テーブル内ではこれらが混在しています。たとえば、ID 11813 はホスト、11815 はテンプレートです。 ここで、これら 2 つの関係を定義するテーブル hosts_templates を見つけました。
テーブルには 3 つの列があります。 ホストテンプレート ID、ホスト ID、テンプレート ID
hosts テーブルには多くの列がありますが、ホスト ID、名前も含まれます。ホスト ID にはホストとテンプレートが含まれます。テーブルホストには templateid 列がありますが、使用されません。
テーブル hosts_templates で、どのホストがどのテンプレートを使用しているかを確認できます。唯一の問題は、ID が表示され、その ID に一致する名前を確認したいことです。 私がこれまでに持っているもの:
テーブル hosts_templates の出力
名前からの出力、テーブル hosts からのホスト ID
これまでに試したこと:
リーリーこれらのクエリの出力には、解決策の半分が示されていますが、重複があります。
問題は、2 番目の列に別の名前を選択できないため、最初の列が繰り返されるだけであり、これは私が望むものではありません...そして、すでに内部でホスト ID を結合しているため、 2 列目ではそれはできません。したがって、上記の 2 つの SQL クエリを組み合わせる必要があります。近づいているような気がするのですが、どうしても掴めません。
ご協力いただければ幸いです。
P粉6708387352024-03-27 09:23:21
これは基本的な質問です。チェーン結合や、異なるテーブルから同じ列名にアクセスするなどの SQL 構文について詳しく知る必要があります。
サンプルコード:
リーリー