Ich habe drei TabellenAusgabe
Tabelle 1
c_id c_name status p_id created_at
1 john 1 79 2016-04-13 10:36:44
2 smith 1 79 2016-04-13 14:25:57
3 phil 1 76 2016-04-18 18:06:21
4 leo 1 76 2016-04-18 15:51:41
5 craig 1 79 2016-04-20 10:44:17
...
Tabelle 2
p_id p_name
75 test1
76 test2
77 test3
78 test4
79 test5
...
Tabelle 3
id c_id
1 1
2 1
3 3
4 4
5 4
Ich brauche das Ergebnis:
period p_id p_name total_count active_count cance_count no_of_occur
2016-04-13 79 test5 2 2 0 2
2016-04-18 76 test2 2 2 0 2
2016-04-20 79 test5 1 1 0 1
...
Für Code, den ich schrieb quert, aber es gibt mir falsche Zählung
SELECT
DATE(DATE_ADD(created_at, INTERVAL 19800 SECOND)) AS period, table1.p_id,
MIN(mdcpev.value) AS product_name,
COUNT(table1.c_id) AS total_count,
SUM(status = 1) AS active_count,
SUM(status = 2) AS cancel_count,
COUNT(table3.id) AS no_of_occur,
FROM table1
INNER JOIN table2 AS mdcpev ON mdcpev.p_id = p_id
LEFT JOIN table3 AS mdspo ON mdspo.c_id = tabe1.c_id
GROUP BY DATE(DATE_ADD(created_at, INTERVAL 19800 SECOND)),p_id
EDIT
mein aktuelles Abfrageer ist
period p_id p_name total_count active_count cance_count no_of_occur
2016-04-13 79 test5 3 3 0 3
2016-04-18 76 test2 3 3 0 2
2016-04-20 79 test5 1 1 0 1
Hier bekam ich active_count
3 was falsch ist, sollte es 2 und no_of_occur
sollte 2 sein und es wird derzeit angezeigt 3 Kann mir jemand zu dem was ist falsch in dieser Abfrage?
Danke
, was Sie wollen bitte spezifisch zählen ?? –
Und stellen Sie die Ausgabe Ihrer aktuellen Abfrage sowie – Shadow
Bitte überprüfen Sie die Ausgabe @Shadow –