Kan onderstaand niet veel eenvoudiger? Ik heb 2 queries, query 1 haalt de omzetbedragen uit de database voor een specifieke user, query 2 haalt de totale omzetwaarden uit de database.
Deze resultaten wil ik mergen, aangezien ik beide in 1 grafiek laat zien (totale omzet + omzet van een specifieke user)..
Op dit moment doe ik een foreach over de resultaten van query 1 om daar de resultaten van query 2 aan toe te voegen.
Een UNION gaat hem niet worden, want ik wil de resultaten per maand gescheiden houden.
De data die ik gebruikt voor mijn chart ziet er uiteindelijk zo uit, het liefst heb ik dat dus gewoon geregeld in 1 query..
Dit is een eenvoudig voorbeeld, want ik pas dit op verschillende plaatsen toe en soms wel met 4 of 5 queries (om bijvoorbeeld de omzet van 5 users in 1 grafiek tegelijk te tonen)..
Deze resultaten wil ik mergen, aangezien ik beide in 1 grafiek laat zien (totale omzet + omzet van een specifieke user)..
Op dit moment doe ik een foreach over de resultaten van query 1 om daar de resultaten van query 2 aan toe te voegen.
Een UNION gaat hem niet worden, want ik wil de resultaten per maand gescheiden houden.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $sql = sprintf(" SELECT MONTHNAME(od.created_at) AS 'name', SUM(od.amount) AS 'user_turnover' FROM offer_document od INNER JOIN offer o ON o.id = od.offer_id INNER JOIN user u ON u.id = o.sold_by WHERE o.sold_by = 94 GROUP BY MONTH(od.created_at); "); $sql2 = sprintf(" SELECT MONTHNAME(od.created_at) AS 'name', SUM(od.amount) AS 'total_turnover' FROM offer_document od INNER JOIN offer o ON o.id = od.offer_id INNER JOIN user u ON u.id = o.sold_by GROUP BY MONTH(od.created_at); "); |
De data die ik gebruikt voor mijn chart ziet er uiteindelijk zo uit, het liefst heb ik dat dus gewoon geregeld in 1 query..
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| Array ( [0] => Array ( [name] => February [user_turnover] => 34450.00000 [total_turnover] => 500000 ) [1] => Array ( [name] => June [user_turnover] => 1136.00000 [total_turnover] => 500000 ) [2] => Array ( [name] => July [user_turnover] => 1338.38000 [total_turnover] => 500000 ) [3] => Array ( [name] => August [user_turnover] => 168.70000 [total_turnover] => 500000 ) ) |
Dit is een eenvoudig voorbeeld, want ik pas dit op verschillende plaatsen toe en soms wel met 4 of 5 queries (om bijvoorbeeld de omzet van 5 users in 1 grafiek tegelijk te tonen)..
A smooth sea never made a skilled sailor