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

    Reportmanager - Bericht mit Abhängigkeiten

    Scheduled Pinned Locked Moved Betrieb
    3 Posts 2 Posters 919 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.
    • F Offline
      Fisi
      last edited by

      Hallo zusammen,

      ich möchte mit dem Reportmanager einen Bericht erstellen, der mir alle Mobiltelefone mit deren Nummern ausgibt und die dazugehörigen Mitarbeiter (eigenes Objekt unter dem Punkt >Andere), die das entsprechende Telefon gerade besitzen.

      Ich habe mich etwas mit der DB Struktur beschäftigt und habe herausgefunden, dass die relevanten Daten für so einen Bericht in der Tabelle isys_obj stehen. Um die Abhängigkeit zwischen Mitarbeiter und Mobiltelefon herauszubekommen benötige ich die Tabelle isys_dependency.

      Mein Problem ist jetzt folgendes:

      Ich möchte den Bericht in der Form:

      MITARBEITER      TELEFONNUMMER
      Mitarbeiter A        1234567890
      Mitarbeiter B        0987654321
      ….

      Diese Daten befinden sich beide in der Spalte isys_obj__title der Tabelle isys_obj.

      Mein derzeitger SQL Befehl sieht wie folgt aus: (Type ID 32 sind Mobiltelefone)

      SELECT O.isys_obj__title AS MITARBEITER, O.isys_obj__title AS NUMMER
      FROM isys_dependency AS D
      RIGHT JOIN isys_obj AS O
      ON D.isys_dependency__isys_obj__id__master = O.isys_obj__id
      WHERE O.isys_obj__isys_obj_type__id = 32

      Damit gibt er mir nun natürlich 2 mal die identischen Werte für beide Spalten meines Reports aus. Ist es denn überhaupt möglich, zwei mal das gleiche Feld einer Tabelle auszugeben, aber zu unterschiedlichen Konditionen? (Also einmal Mitarbeiter - über ID, und dann Mobiltelefone über eine andere ID)

      Mache ich irgendetwas falsch oder ist das generell nicht möglich?

      Danke und LG,
      Fisi.

      1 Reply Last reply Reply Quote 0
      • D Offline
        dbluemer
        last edited by

        Also, soweit ich das verstanden habe, ist

        1. Der Titel der Mobiltelefone gleich der Telefonnummer
        2. Der Titel des Mitarbeiters gleich dem Namen
        3. Die Verbindung über eine Abhängigkeit definiert, wobei die Mitarbeiter abhängig sind von den Mobiltelefonen

        Unter diesen Voraussetzungen müsste der Report folgendermaßen aussehen:

        
        SELECT mob.isys_obj__title AS 'Telefonnummer', mit.isys_obj__title AS 'Mitarbeiter'
        FROM isys_obj mob
        INNER JOIN isys_dependency ON isys_dependency__isys_obj__id__master = mob.isys_obj__id
        INNER JOIN isys_obj mit ON mit.isys_obj__id = isys_dependency__isys_obj__id__slave
        INNER JOIN isys_obj_type mobtype ON mob.isys_obj__isys_obj_type__id = mobtype.isys_obj_type__id
        INNER JOIN isys_obj_type mittype ON mit.isys_obj__isys_obj_type__id = mittype.isys_obj_type__id
        WHERE mobtype.isys_obj_type__const = 'C__OBJTYPE__CELL_PHONE_CONTRACT'
        AND mittype.isys_obj_type__const = '<konstante des="" objekttyps="" mitarbeiter="">'</konstante> 
        

        wobei man <konstante des="" objekttyps="" mitarbeiter="">entsprechend Deiner Definition in der Tabelle isys_obj_type ersetzen muss. Der Trick besteht halt darin die Tabelle isys_obj für beide Objekttypen seperat zu referenzieren.</konstante>

        1 Reply Last reply Reply Quote 0
        • F Offline
          Fisi
          last edited by

          Vielen Dank, das hat funktioniert!

          Ich musste nur noch die Einträge isys_dependency__isys_obj__id__master und isys_dependency__isys_obj__id__slave vertauschen, also:

          ...
          INNER JOIN isys_dependency ON isys_dependency__isys_obj__id__slave = mob.isys_obj__id 
          INNER JOIN isys_obj AS mit ON mit.isys_obj__id = isys_dependency__isys_obj__id__master
          ...
          

          Obwohl, wie du geschrieben hast, der Mitarbeiter vom Mobiltelefon abhängig ist.

          Also danke nochmal, hat sehr geholfen 🙂
          LG, Fisi,

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