In Discourse, Sie können das Erscheinungsbild Ihrer Data Explorer-Abfrageergebnisse verbessern.
Die Formatierung von Tabellenergebnissen im Data Explorer kann durch die Verwendung spezieller Syntax in Ihren SQL-Abfragen erfolgen, mit der Sie Ihre Daten direkt in der Discourse-Oberfläche intuitiver und visuell ansprechender darstellen können.
Formatierte Tabellenergebnisse
Hier ist eine kurze Übersicht über die Syntax und die Datenfelder, die Sie zur Formatierung Ihrer Abfrageergebnisse verwenden können:
SELECT
-- Um ein Zitat, Avatar/Benutzernamen und einen Link zum Beitrag anzuzeigen, verwenden Sie:
id AS post_id,
-- Um den Thema-Titel, die Anzahl der Beiträge und einen Link zum Thema anzuzeigen, verwenden Sie:
topic_id,
-- Um die Zeit in einem relativen Format anzuzeigen (für das vollständige Datum darüberfahren), verwenden Sie:
updated_at AS reltime$updated_at,
-- Um einen Benutzer-Avatar/Benutzernamen und einen Link zur Aktivitätsseite anzuzeigen, verwenden Sie:
user_id,
-- Um einen Gruppennamen und einen Link zur Gruppe anzuzeigen, verwenden Sie:
(SELECT id FROM groups WHERE id = 12) AS group_id,
-- Um ein Kategorie-Badge, einen Namen und einen Link zur Kategorie anzuzeigen, verwenden Sie:
(SELECT id FROM categories WHERE id = 22) AS category_id,
-- Um ein Badge-Symbol, einen Namen und einen Link zum Badge anzuzeigen, verwenden Sie:
(SELECT id FROM badges WHERE id = 2) AS badge_id,
-- Um die spezielle Formatierung zu unterdrücken und nur Text zu verwenden, verwenden Sie:
topic_id AS text$topic_id_text,
-- Um einen Wert als HTML zu rendern, verwenden Sie:
'<h2>hello</h2>' AS html$html,
-- Um eine Spalte als URL zu behandeln (wenn sie `xyz_url` heißt) und den Link im Format `name,https://example.com` zu benennen, verwenden Sie:
'Meta,https://meta.discourse.org' AS somecolumnname_url
FROM posts
WHERE topic_id = 32566
LIMIT 1
Nachfolgend finden Sie ein Beispiel dafür, wie Ihre Abfrageergebnisse bei der Formatierung mit der obigen Syntax aussehen könnten:
Einzelne Beispiele
Lassen Sie uns einige dieser Funktionen genauer betrachten:
Beitrag- und Thema-Links
Sie können eine post_id als Zitat, Benutzer-Avatar/Benutzernamen und Link zum Beitrag mit AS post_id anzeigen. Sie können auch eine topic_id als Thema-Titel, Anzahl der Beiträge und Link zum Thema mit AS topic_id anzeigen.
Beispiele:
SELECT
p.id AS post_id
FROM
posts p
SELECT
t.id AS topic_id
FROM
topics t
Relative Zeit
Die Anweisung AS reltime$updated_at zeigt einen Zeitstempel im relativen Format an. Wenn Sie mit der Maus über einen Zeitstempel in diesem Format fahren, sehen Sie auch das vollständige Datum.
Beispiel:
SELECT
id,
updated_at AS reltime$updated_at
FROM
posts
ORDER BY updated_at DESC
Benutzer-, Gruppen-, Kategorie- und Badge-Links
Sie können Benutzer-Avatare/Benutzernamen, Gruppennamen, Kategorienamen und Badge-Symbole/-Namen anzeigen, die alle mit ihren jeweiligen Seiten verknüpft sind, indem Sie AS user_id, AS group_id, AS category_id und AS badge_id verwenden.
Beispiele:
SELECT
u.id AS user_id
FROM
users u
SELECT
g.id AS group_id
FROM
groups g
SELECT
c.id AS category_id
FROM
categories c
SELECT
b.id AS badge_id
FROM
badges b
Text- und HTML-Rendering
Sie können HTML-Ergebnisse als gerendertes HTML anzeigen, indem Sie AS html$html verwenden. Sie können auch die spezielle Formatierung unterdrücken, um nur Text zu verwenden, indem Sie AS text$column_name verwenden.
Beispiel:
SELECT
topic_id,
cooked AS html$html,
topic_id AS text$topic_id_text
FROM
posts
GROUP BY topic_id, cooked
URL-Rendering
Wenn Sie eine Spalte als xyz_url benennen, wird sie als URL behandelt. Sie können einen URL-Link auch im Format name,https://example.com benennen.
Beispiel:
SELECT
u.username,
'https://example_site.com/u/' || u.username || '/summary' AS profile_url,
'Profile Page,https://example_site.com/u/' || u.username || '/summary' AS profile_page_url
FROM
users u
WHERE u.username LIKE 'anon%'
Automatische Formatierung
Es gibt auch bestimmte SQL-Felder im Data Explorer, die automatisch formatiert werden. Dazu gehören:
Links
Jedes Feld, das eine URL enthält, wird automatisch als klickbarer Link formatiert.
Beispiel:
SELECT
id,
remote_url
FROM remote_themes
IDs
IDs (wie Beitrags-IDs, Thema-IDs, Benutzer-IDs usw.) werden oft automatisch mit ihren jeweiligen Entitäten verknüpft, wenn sie in fremden Tabellen referenziert werden.
Beispiel:
SELECT
user_id
FROM
topics











