Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    Abfrage Editor

    Scheduled Pinned Locked Moved Betrieb
    10 Posts 5 Posters 2.4k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D Offline
      d.fischer
      last edited by

      Hallo,

      ich benötige hilfe beim Abfrage Editor. Leider scheint es keine Möglichkeit zu geben eine Abfrage zu machen, die mir die Installieten Betriebssysteme in verbindung mit den Servern anzeigt.

      Danke

      1 Reply Last reply Reply Quote 0
      • DigiDanielD Offline
        DigiDaniel
        last edited by

        Hey!

        Versuchs mal hiermit:

        SELECT DD1.isys_obj__title AS 'spalte1', DD2.isys_obj__title AS 'spalte2'
        FROM isys_catg_relation_list
        LEFT JOIN isys_obj DD1 ON isys_catg_relation_list.isys_catg_relation_list__isys_obj__id__master = DD1.isys_obj__id
        LEFT JOIN isys_obj DD2 ON isys_catg_relation_list.isys_catg_relation_list__isys_obj__id__slave = DD2.isys_obj__id
        WHERE DD1.isys_obj__isys_obj_type__id = 5
        AND DD2.isys_obj__isys_obj_type__id = 35
        

        mfg

        1 Reply Last reply Reply Quote 0
        • S Offline
          svN_O
          last edited by

          Gibt es hierbei euch eine Möglichkeit nur die Server eines bestimmten Standortes anzuzeigen?

          Danke

          1 Reply Last reply Reply Quote 0
          • LFischerL Offline
            LFischer
            last edited by

            Hallo,

            das ist nicht so einfach umsetzbar, da es eine rekursive Schleife benötigt um diese Objekte im Standort-Pfad zu finden. Ich würde beinahe sagen das es mit "reinem" SQL kaum zu lösen ist.

            Mit freundlichen Grüßen
            Leo

            1 Reply Last reply Reply Quote 0
            • S Offline
              svN_O
              last edited by

              Okay, danke schonmal für die Hilfe. Jetzt habe ich aber noch ein anderes Problem, unzwar:

              Will ich einen Report erstellen der mit die Server zeigt mit installierter Software jedoch ohne Updates. Jetzt habe ich folgende Abfrage erstellt:

              
              SELECT DISTINCT DD1.isys_obj__title AS 'Server', DD2.isys_obj__title AS 'Betriebssystem', DD3.isys_obj__title AS 'Software',DD4.isys_catg_accounting_list__inventory_no AS 'Inventarnummer'
              FROM isys_catg_relation_list
              LEFT JOIN isys_obj DD1 ON isys_catg_relation_list.isys_catg_relation_list__isys_obj__id__master = DD1.isys_obj__id
              LEFT JOIN isys_obj DD2 ON isys_catg_relation_list.isys_catg_relation_list__isys_obj__id__slave = DD2.isys_obj__id
              LEFT JOIN isys_obj DD3 ON isys_catg_relation_list.isys_catg_relation_list__isys_obj__id__slave = DD2.isys_obj__id
              LEFT JOIN isys_catg_accounting_list DD4 ON isys_catg_accounting_list__isys_obj__id = DD1.isys_obj__id
              WHERE DD1.isys_obj__isys_obj_type__id =5
              AND DD2.isys_obj__isys_obj_type__id = 35
              AND DD3.isys_obj__isys_obj_type__id = 2
              AND (DD3.isys_obj__title = 'Programmxyz' OR DD3.isys_obj__title = 'Programmxyz')
              Order by Server, Software 
              

              Hierbei habe ich jedes einzelne Programm ausgewählt und das ist ziemlich umständig. Jedoch zeigt er mir bei jedem Server die gleiche Software an auch wenn diese darauf nicht installiert ist. Gibt es hierfür eine andere Methode?

              Grüße + Danke

              Sven

              1 Reply Last reply Reply Quote 0
              • LFischerL Offline
                LFischer
                last edited by

                Hallo Sven,

                es klingt so, als würdest du statt den "LEFT JOIN" Befehlen eher "INNER JOIN" benötigen - Die funktionieren beim selektieren von Daten etwas anders.
                Hier gibt es einige interessante Beispiele: http://stackoverflow.com/questions/38549/difference-between-inner-and-outer-join

                Mit freundlichen Grüßen
                Leo

                1 Reply Last reply Reply Quote 0
                • S Offline
                  svN_O
                  last edited by

                  Hey,

                  danke schon mal, jedoch führt keines der JOIN Befehle zum gewünschten Ergebnis. Habe alles ausprobiert. LEFT JOIN, RIGHT JOIN, OUTER JOIN, FULL OUTER JOIN, LEFT OUTER JOIN, INNER JOIN. Zeigt mir bei Servern auf denen die Software nicht installiert ist, immernoch die Software an…

                  SELECT DISTINCT DD1.isys_obj__title AS 'Server', DD2.isys_obj__title AS 'Betriebssystem', DD3.isys_obj__title AS 'Software',DD4.isys_catg_accounting_list__inventory_no AS 'Inventarnummer'
                  FROM isys_catg_relation_list
                  LEFT JOIN isys_obj DD1 ON isys_catg_relation_list.isys_catg_relation_list__isys_obj__id__master = DD1.isys_obj__id
                  LEFT JOIN isys_obj DD2 ON isys_catg_relation_list.isys_catg_relation_list__isys_obj__id__slave = DD2.isys_obj__id
                  INNER JOIN isys_obj DD3 ON isys_catg_relation_list.isys_catg_relation_list__isys_obj__id__slave = DD2.isys_obj__id
                  LEFT JOIN isys_catg_accounting_list DD4 ON isys_catg_accounting_list__isys_obj__id = DD1.isys_obj__id
                  WHERE DD1.isys_obj__isys_obj_type__id =5
                  AND DD2.isys_obj__isys_obj_type__id = 35
                  AND DD3.isys_obj__isys_obj_type__id = 2
                  AND DD3.isys_obj__title = 'Programmxyz' 
                  Order by Server, Software 
                  

                  Habe das INNER JOIN an der richtigen Stelle verändert oder?

                  Danke

                  Grüße

                  Sven

                  1 Reply Last reply Reply Quote 0
                  • S Offline
                    svN_O
                    last edited by

                    Auch wenn ich diese Abfrage mache:

                    SELECT DD1.isys_obj__title AS 'Server', DD2.isys_obj__title AS 'OS', DD3.isys_obj__title AS 'Software'
                    FROM isys_catg_relation_list
                    LEFT JOIN isys_obj DD1 ON isys_catg_relation_list.isys_catg_relation_list__isys_obj__id__master = DD1.isys_obj__id
                    INNER JOIN isys_obj DD2 ON isys_catg_relation_list.isys_catg_relation_list__isys_obj__id__slave = DD2.isys_obj__id
                    INNER JOIN isys_obj DD3 ON isys_catg_relation_list.isys_catg_relation_list__isys_obj__id__slave = DD2.isys_obj__id
                    WHERE DD1.isys_obj__isys_obj_type__id = 5
                    AND DD1.isys_obj__title like 'nagiosnode'
                    AND DD2.isys_obj__isys_obj_type__id = 35
                    AND DD3.isys_obj__isys_obj_type__id = 2
                    Order by Server
                    

                    zeigt er mir die komplette Software an die im iDoit ist, nicht nur die vom "nagiosnode"… Es zeigt mir eben an das in Spalte 3 (DD3) alles anzeigt werden soll mit id = 2.. Jedoch brauche ich nur die Software die auf dem nagiosnode installier ist.. Wie bekomme ich dann nur diese Information raus?

                    Danke

                    1 Reply Last reply Reply Quote 0
                    • H Offline
                      Hannes
                      last edited by

                      Hi ich habe ein ähnliches Problem, das aber auch in dieses Thema passt. Und zwar brauche ich das ganze auch für alle Virtuellen Server, demnach habe ich die Zeile:

                      WHERE DD1.isys_obj__isys_obj_type__id =61

                      hinzugefügt. Allerdings ist der Report jetzt zu großfür Idoit!
                      Kann mir vielleicht jemand helfen wie ich diesen Report auf 2 Reports aufteilen kann ?

                      Vielen Dank + Grüße

                      Hannes

                      1 Reply Last reply Reply Quote 0
                      • LFischerL Offline
                        LFischer
                        last edited by

                        @Hannes:

                        Hi ich habe ein ähnliches Problem, das aber auch in dieses Thema passt. Und zwar brauche ich das ganze auch für alle Virtuellen Server, demnach habe ich die Zeile:

                        WHERE DD1.isys_obj__isys_obj_type__id =61

                        hinzugefügt. Allerdings ist der Report jetzt zu großfür Idoit!
                        Kann mir vielleicht jemand helfen wie ich diesen Report auf 2 Reports aufteilen kann ?

                        Vielen Dank + Grüße

                        Hannes

                        Hallo Hannes,

                        was meinst du genau mit "zu groß für i-doit"? Bekommst du zu viele Zeilen zurück?
                        Am besten schaust du dir dazu mal den "LIMIT" und/oder "OFFSET" an:

                        http://dev.mysql.com/doc/refman/5.0/en/select.html#idp56935072

                        Viele Grüße
                        Leo

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post