Report: Client-> Zugewiesene Endgeräte
-
Hallo zusammen,
ich versuche einen Report zur Kontrolle der zugewiesenen Endgeräte zu erstellen, leider bekomme ich es nicht hin.Es sollen alle Clients mit deren zugewiesenen Endgeräten angezeigt werden, wie kann ich dieses umsetzen?
Vielen Dank im Voraus.
-
Hallo Chris1980,
folgender Report listet die Informationen aus der Kategorie "Arbeitsplatzkomponenten" des Objekttypen Client (ID: 10) auf:
SELECT
j1.isys_obj__id AS id,
j1.isys_obj__title AS 'Client',
isys_obj_type__title AS 'Objekttyp',
COUNT(isys_catg_logical_unit_list__isys_obj__id__parent) AS 'Anzahl',
GROUP_CONCAT(j2.isys_obj__title ORDER BY j2.isys_obj__title SEPARATOR ', ') AS 'Zugewiesenes Endgeraet'FROM isys_obj AS j1
LEFT JOIN isys_catg_logical_unit_list
ON j1.isys_obj__id = isys_catg_logical_unit_list__isys_obj__id__parentLEFT JOIN isys_obj AS j2
ON isys_catg_logical_unit_list__isys_obj__id = j2.isys_obj__idLEFT JOIN isys_obj_type
ON isys_obj_type__id = j2.isys_obj__isys_obj_type__idWHERE TRUE
AND j1.isys_obj__isys_obj_type__id = 10
AND j1.isys_obj__status = 2GROUP BY
j1.isys_obj__title, isys_obj_type__titleORDER BY
j1.isys_obj__title, isys_obj_type__titleIst das was Du brauchst?
Gruss,
jkondek -
Hallo jkondek,
vielen Dank dafür. Das ist genau das was ich benötige. Eine Frage hätte ich jedoch:
Wie könnte ich zusäzlich noch die Seriennummern anzeigen lassen?Gruß
Chris
-
Hallo Chris,
die Seriennummern der Clients oder der Endgeraete?
Bin mal von den der Clients ausgegangen (Aenderungen in rot):
SELECT
j1.isys_obj__id AS id,
j1.isys_obj__title AS 'Client',
isys_catg_model_list__serial AS 'Seriennummer',
isys_obj_type__title AS 'Objekttyp',
COUNT(isys_catg_logical_unit_list__isys_obj__id__parent) AS 'Anzahl',
GROUP_CONCAT(j2.isys_obj__title ORDER BY j2.isys_obj__title SEPARATOR ', ') AS 'Zugewiesenes Endgeraet'FROM isys_obj AS j1
LEFT JOIN isys_catg_logical_unit_list
ON j1.isys_obj__id = isys_catg_logical_unit_list__isys_obj__id__parentLEFT JOIN isys_obj AS j2
ON isys_catg_logical_unit_list__isys_obj__id = j2.isys_obj__idLEFT JOIN isys_obj_type
ON isys_obj_type__id = j2.isys_obj__isys_obj_type__idLEFT JOIN isys_catg_model_list
ON isys_catg_model_list__isys_obj__id = j1.isys_obj__idWHERE TRUE
AND j1.isys_obj__isys_obj_type__id = 10
AND j1.isys_obj__status = 2GROUP BY
j1.isys_obj__title, isys_obj_type__titleORDER BY
j1.isys_obj__title, isys_obj_type__titleGruss,
jkondek -
Hallo jkondek,
das klappt super. Vielen Dank noch einmal. Wenn ich den Endgeräten ebenfalls die Seriennummern anzeigen lassen möchte, geht das ebenfalls über die Commandozeile isys_catg_model_list__serial AS 'Seriennummer?Das wäre auch die letzte Frage, versprochen.
Gruß
Chris
-
Hallo Chris,
prinzipiell ja, allerdings musst Du dabei bedenken, dass Du einen weiteren JOIN in die Tabelle isys_catg_model_list benoetigst, diesmal mit der ID der Endgeraete.
Ausserdem muss die Tabelle bei beiden JOINS eine eigene Variable erhalten (AS xxx), da die Ausgabe sonst mehrdeutig waere.Koennte dann z.B. so aussehen (Aenderungen in rot):
SELECT
j1.isys_obj__id AS id,
j1.isys_obj__title AS 'Client',
j3.isys_catg_model_list__serial AS 'Seriennummer',
isys_obj_type__title AS 'Objekttyp',
COUNT(isys_catg_logical_unit_list__isys_obj__id__parent) AS 'Anzahl',
GROUP_CONCAT(j2.isys_obj__title ORDER BY j2.isys_obj__title SEPARATOR ', ') AS 'Zugewiesenes Endgeraet',
GROUP_CONCAT(j4.isys_catg_model_list__serial ORDER BY j2.isys_obj__title SEPARATOR ', ') AS 'Seriennummer Endgeraet'FROM isys_obj AS j1
LEFT JOIN isys_catg_logical_unit_list
ON j1.isys_obj__id = isys_catg_logical_unit_list__isys_obj__id__parentLEFT JOIN isys_obj AS j2
ON isys_catg_logical_unit_list__isys_obj__id = j2.isys_obj__idLEFT JOIN isys_obj_type
ON isys_obj_type__id = j2.isys_obj__isys_obj_type__idLEFT JOIN isys_catg_model_list AS j3
ON j3.isys_catg_model_list__isys_obj__id = j1.isys_obj__idLEFT JOIN isys_catg_model_list AS j4
ON j4.isys_catg_model_list__isys_obj__id = j2.isys_obj__idWHERE TRUE
AND j1.isys_obj__isys_obj_type__id = 10
AND j1.isys_obj__status = 2GROUP BY
j1.isys_obj__title, isys_obj_type__titleORDER BY
j1.isys_obj__title, isys_obj_type__titleEs ist auch moeglich, die letzten zwei Spalten (Endgeraet + Seriennummer) in einer Spalte anzuzeigen, dafuer einfach die beiden letzten Zeilen im SELECT ("GROUP_CONCAT(…") gegen folgendes austauschen:
(CASE
WHEN j4.isys_catg_model_list__serial IS NOT NULL THEN
GROUP_CONCAT(j2.isys_obj__title,' (',j4.isys_catg_model_list__serial,')' ORDER BY j2.isys_obj__title SEPARATOR ', ')
ELSE GROUP_CONCAT(j2.isys_obj__title,' (–-)' ORDER BY j2.isys_obj__title SEPARATOR ', ')
END) AS 'Zugewiesenes Endgeraet (Seriennummer)'Eine weitere Moeglichkeit waere zu sagen, dass alle Endgeraete in einer eigenen Zeile angezeigt werden sollen, anstatt diese bei gleichem Objekttyp zu gruppieren.
Das ist aber Geschmackssache und jedem selbst ueberlassenGruss,
jkondek