# OTOBO SQL-Abfragen Diese README-Datei enthält Dokumentation und Beispiele für SQL-Abfragen, die in OTOBO zur Auswertung von Tickets und Artikeln verwendet werden können. Die Abfragen liefern Berichte und statistische Auswertungen. --- ## SQL-Abfragen ### 1. Abfrage: Rapportauszüge mit lesbaren Titeln Diese Abfrage dient der Ausgabe von Ticketinformationen, Artikeldetails und Zeitaufwänden, einschließlich lesbarer Titelbezeichnungen. #### SQL-Statement ```sql SELECT ticket.id AS "ticketID", ticket.title AS "ticket", ticket.tn AS "ticketnummer", users.first_name AS "Vorname", article_data_mime.a_subject AS "subject", article_data_mime.a_body AS "Artikel Text", article.id AS "article_id", time_accounting.time_unit AS "Zeit in h", arbeitsschritt.value_text AS "Arbeitsschritt", workactivity.value_text AS "Arbeitsaktivität" FROM otobo.ticket AS ticket INNER JOIN otobo.article AS article ON ticket.id = article.ticket_id INNER JOIN otobo.users AS users ON ticket.user_id = users.id INNER JOIN otobo.article_data_mime AS article_data_mime ON article.id = article_data_mime.article_id INNER JOIN otobo.time_accounting AS time_accounting ON article.id = time_accounting.article_id LEFT JOIN otobo.dynamic_field_value AS arbeitsschritt ON article.id = arbeitsschritt.object_id AND arbeitsschritt.field_id = 3 --diese zahl Zeigt auf das gewünschte dynamische feld welches angezeigt werden soll LEFT JOIN otobo.dynamic_field_value AS workactivity ON article.id = workactivity.object_id AND workactivity.field_id = 4 --diese zahl Zeigt auf das gewünschte dynamische feld welches angezeigt werden soll ORDER BY ticket.id DESC; ``` #### Beschreibung - **ticketID**: Die ID des Tickets. - **ticket**: Der Titel des Tickets. - **ticketnummer**: Die eindeutige Ticketnummer. - **Vorname**: Der Vorname des Benutzers, der das Ticket erstellt hat. - **subject**: Der Betreff des Artikels. - **Artikel Text**: Der Textinhalt des Artikels. - **article_id**: Die ID des Artikels. - **Zeit in h**: Der Zeitaufwand in Stunden. - **Arbeitsschritt** und **Arbeitsaktivität**: Details zu den durchgeführten Aufgaben. --- ### 2. Abfrage: Gesamte Zeit pro Ticket Diese Abfrage berechnet die Gesamtzeit, die pro Ticket aufgewendet wurde. #### SQL-Statement ```sql SELECT ticket.id AS ticket_id, SUM(time_unit) AS total_time_unit FROM ticket INNER JOIN article ON ticket.id = article.ticket_id INNER JOIN time_accounting ON article.id = time_accounting.article_id GROUP BY ticket.id ORDER BY ticket.id ASC; ``` #### Beschreibung - **ticket_id**: Die ID des Tickets. - **total_time_unit**: Die gesamte aufgewendete Zeit (in Stunden) für das Ticket.