Datenbankabfrage nach Versionen mehrere Programme in einer Zeile

  • Ersteller Ersteller KeinNickFrei
  • Erstellt am Erstellt am
K

KeinNickFrei

Gast
Hallo Forenmitglieder,

ich denke zwar, dass hier nicht der richtige Ort für SCCM und SQL ist, aber ich habe das Gefühl, meine Anfrage ist mehr allgemein dem Bereich Datenbankabfragen zuzuordnen und evtl. auch mit ein paar ganz einfachen Kniffen zu erledigen, auf die ich einfach nicht komme...

Wir setzen SCCM ein.
Hier will ich eine Abfrage erstellen, welche Versionsstände die Clients haben betreffend der wichtigeren Programme.
Nennen wir sie jetzt einfach mal "Firefox, 7-zip und PDFCreator"

Mein Ziel wäre, das alles in einer Query zu haben. Und nicht mit vielen Datensätzen (pro Programm eine Zeile) , sondern eine Zeile pro Client mit allen Versionen.

Also nicht
#PCNAME | #Version
Client1 | 52.0.1
Client1 | 16.04
Client1 | 1.7.3
Client2....
Client2...

sondern
#PCNAME | #Firefox | #7-zip | #PDFCreator
Client1 | 52.0.1 | 16.04 | 1.7.3
Client2 ...

... wie geht das?

Meine Abfrage oben sieht (gekürzt) so aus:
select Name, ProductName, ProductVersion from ...System.... where ProductName like "PDFCreator" or ProductName = "7-zip" or ProductName = "Firefox"

...das macht es aber sehr unübersichtlich...
Mit Excel kann man das zwar zusammenflicken, aber ich hoffe, dass es besser aufbereitet geht..

Danke für jeden Tipp!

Greets
 
Du kannst mit dem * Selektor direkt alles Auswählen.

Alternativ liest du via JSON ein bzw. den in SSCM vorhandenen String-Funktionen.
 
Also in MySQL gänge das:
SELECT PCNAME,
GROUP_CONCAT(DISTINCT PNAME, CONCAT(',', PVERSION) SEPARATOR ';') as PLIST
FROM `test`
GROUP BY PCNAME
PCNAME PLIST
Client1 FF,52;zip,16
Client2 FF,50;zip,18
Client3 FF,55;zip,10

Die Frage ist, ob es sinnvoll ist das im DB-System zu machen oder nicht doch im Programmcode.
 
Zuletzt bearbeitet:
Ich bin mir nicht sicher, ob ich verstehe, was du meinst

Aber evtl. habe ich ein anderes Problem. Mit SCCM Queries kann man - wie ich gerade vermute - nur WQL einsetzen und nicht SQL.
Das dürfte es dann wohl unmöglich machen....
 
Terrean schrieb:
Mit SCCM Queries kann man - wie ich gerade vermute - nur WQL einsetzen und nicht SQL.
Was im Endeffekt auch nur ein SQL-Subset ist.

edit: hab noch nie was mit SCCM zu tun gehabt, aber wenn ich mir das ansehe, müsste auch MSSQL gehen
 
Zuletzt bearbeitet:
Wenn du aus Zeilen in Spalten machen willst, kannst du mit Sub-SELECTs arbeiten. Das geht für eine feste Menge von Spalten (hier deine drei Programme) und kleine Tabellen, wird aber schnell langsam.
Etwas komplexer aber flexibler ist PIVOT. Ob SCCM das unterstütz weiß ich nicht, der darunterliegende SQL-Server tut es.
 
Zurück
Oben