Ich bin ziemlich neu in MySql und wollte eine Aufgabe mit Fall für eine bestimmte Spalte lösen. Mit der Abfrage:CASE WHEN in MySQL
SELECT T1.job, T1.pid, T2.T2MAX, T1.message, T1.duration, T1.T1SUM
FROM(SELECT monitor.statcatcher.job,monitor.statcatcher.pid, MIN(monitor.statcatcher.moment)AS T1MIN, monitor.statcatcher.message,monitor.statcatcher.duration,
SUM(Coalesce(monitor.flowmetercatcher.count, 0)) AS T1SUM
FROM monitor.statcatcher
LEFT JOIN monitor.flowmetercatcher ON monitor.statcatcher.pid = monitor.flowmetercatcher.pid AND DATE(monitor.statcatcher.moment) =
DATE(monitor.flowmetercatcher.moment)
WHERE DATE(monitor.statcatcher.moment) = CURRENT_DATE AND message IS NOT NULL
GROUP BY monitor.statcatcher.job,monitor.statcatcher.pid, monitor.statcatcher.message, monitor.statcatcher.duration)AS T1
INNER JOIN(SELECT monitor.statcatcher.job,MAX(monitor.statcatcher.moment) AS T2MAX,
monitor.statcatcher.pid
FROM monitor.statcatcher
WHERE DATE(monitor.statcatcher.moment) = CURRENT_DATE
GROUP BY monitor.statcatcher.job) AS T2
ON T1.job = T2.job AND T1.pid = T2.pid
erhielt ich eine neue Tabelle mit verschiedenen Spalten und Nachrichten und T1SUM (wobei zwei von ihnen) hatte in der neuen Spalte folgende Einträge. Erwartet man sieht ungefähr so aus:
message T1SUM color
success 0 yellow
success 0 yellow
success 4 green
success 6 green
success 6 green
success 5 green
success 6 green
Jetzt habe ich, um herauszufinden, wie ich versuche Fall zu implementieren ... wenn .. sonst auf die Abfrage, so dass zum Beispiel sagen können, wenn Fall Wert = 0 und message = Erfolg dann Es gibt eine neue Spalte, sagen wir Farbe und der Eintrag ist 'gelb', wenn Wert> 0 und Nachricht = Erfolg Farbe ist 'grün'. Vielen Dank für Ihre Zeit so viel und
See helfen: [? Warum soll ich einen MCVE für das, was ich scheint eine sehr einfache SQL-Abfrage zu sein] (https://meta.stackoverflow.com/questions/333952/why-soll-ich-biete-eine-mcve-für-was-scheint-zu-mir-sein-eine-sehr-einfache-sql-Abfrage) – Strawberry
Können Sie die Tabelle Schema zur Verfügung stellen? –