Hi zusammen,
ich habe mal wieder eine Frage. Es geht um eine Abfrage, welche ich gerne erweitern möchte. Mit aktueller Abfrage arbeite ich derzeit:
select date(created_at) day,
sum(case when (
template = 'sample_A'
) then 1 else 0 end) as "Beispiel_A",
sum(case when ( template = 'sample_B'
) then 1 else 0 end) "Beispiel_B"
from Tabelle_XY
where datediff(date(now()), date(created_at)) <= 10 group by date(created_at) order by 1
Als Ergebnis erhalte ich so etwas:
Wie ihr seht, komme ich bei der Abfrage mit einer Tabelle (Tabelle_XY) aus, in der die Information steckt. Nun würde ich gerne in einem nächsten Schritt Information aus einer weiteren Tabelle hinzuziehen und diese als Ergebnis zwischen Spalte_A und Spalte_B platzieren. Die Tabelle um die es geht sieht so aus:
Tabelle_ZZ:
Die erweiterte Abfrage soll folgendes Ergebnis produzieren:
Es soll dann gezählt werden wenn das Muster in path erkannt wird und tbd_id nicht NULL enthält... (path LIKE '%sampleC%' and tbd_id IS NOT NULL - für die Spalte Beispiel_C) und für die Spalte Beispiel_D analog mit sampleD...
Ich stehe gerade auf dem Schlauch wie ich diese Abfrage erweitern müsste:
select date(created_at) day,
sum(case when (
template = 'sample_A'
) then 1 else 0 end) as "Beispiel_A",
sum(case when ( template = 'sample_B'
) then 1 else 0 end) "Beispiel_B"
from Tabelle_XY
where datediff(date(now()), date(created_at)) <= 10 group by date(created_at) order by 1
Besten Dank für eure Hilfe!
LG Felix
ich habe mal wieder eine Frage. Es geht um eine Abfrage, welche ich gerne erweitern möchte. Mit aktueller Abfrage arbeite ich derzeit:
select date(created_at) day,
sum(case when (
template = 'sample_A'
) then 1 else 0 end) as "Beispiel_A",
sum(case when ( template = 'sample_B'
) then 1 else 0 end) "Beispiel_B"
from Tabelle_XY
where datediff(date(now()), date(created_at)) <= 10 group by date(created_at) order by 1
Als Ergebnis erhalte ich so etwas:
day | Beispiel_A | Beispiel_B |
22.01.2019 | 173 | 121 |
23.01.2019 | 0 | 1 |
24.01.2019 | 147 | 142 |
25.01.2019 | 1 | 4 |
26.01.2019 | 0 | 0 |
27.01.2019 | 109 | 69 |
28.01.2019 | 129 | 60 |
29.01.2019 | 1 | 8 |
30.01.2019 | 42 | 96 |
31.01.2019 | 96 | 64 |
01.02.2019 | 0 | 4 |
Tabelle_ZZ:
id | path | created_at | tbd_id |
1 | …sampleC… | 22.01.2019 | (Null) |
2 | …sampleC… | 22.01.2019 | 12 |
3 | …sampleD… | 23.01.2019 | 13 |
4 | …sampleE… | 22.01.2019 | 14 |
5 | …sampleD… | 23.01.2019 | (Null) |
6 | ...sampleC… | 23.01.2019 | 15 |
… | … | … |
day | Beispiel_A | Beispiel_C | Beispiel_D | Beispiel_B |
22.01.2019 | 173 | 1 | 0 | 121 |
23.01.2019 | 0 | 1 | 1 | 1 |
24.01.2019 | 147 | 0 | 0 | 142 |
25.01.2019 | 1 | 0 | 0 | 4 |
26.01.2019 | 0 | 0 | 0 | 0 |
27.01.2019 | 109 | 0 | 0 | 69 |
28.01.2019 | 129 | 0 | 0 | 60 |
29.01.2019 | 1 | 0 | 0 | 8 |
30.01.2019 | 42 | 0 | 0 | 96 |
31.01.2019 | 96 | 0 | 0 | 64 |
01.02.2019 | 0 | 0 | 0 | 4 |
Ich stehe gerade auf dem Schlauch wie ich diese Abfrage erweitern müsste:
select date(created_at) day,
sum(case when (
template = 'sample_A'
) then 1 else 0 end) as "Beispiel_A",
sum(case when ( template = 'sample_B'
) then 1 else 0 end) "Beispiel_B"
from Tabelle_XY
where datediff(date(now()), date(created_at)) <= 10 group by date(created_at) order by 1
Besten Dank für eure Hilfe!
LG Felix
Comment