У меня есть текущий SQL-запрос, который выглядит следующим образом:
SELECT
WEEK,
SUM(CASE WHEN WEEK = '$week1' THEN 1 ELSE 0 END) AS week_1_total,
SUM(CASE WHEN WEEK = '$week2' THEN 1 ELSE 0 END) AS week_2_total,
SUM(CASE WHEN WEEK = '$week3' THEN 1 ELSE 0 END) AS week_3_total,
SUM(CASE WHEN WEEK = '$week4' THEN 1 ELSE 0 END) AS week_4_total,
SUM(CASE WHEN WEEK = '$week1' AND TYPE = 'refund' THEN 1 ELSE 0 END) AS week_1_refunds,
SUM(CASE WHEN WEEK = '$week2' AND TYPE = 'refund' THEN 1 ELSE 0 END) AS week_2_refunds,
SUM(CASE WHEN WEEK = '$week3' AND TYPE = 'refund' THEN 1 ELSE 0 END) AS week_3_refunds,
SUM(CASE WHEN WEEK = '$week4' AND TYPE = 'refund' THEN 1 ELSE 0 END) AS week_4_refunds,
SUM(CASE WHEN WEEK = '$week1' AND TYPE = 'closure' THEN 1 ELSE 0 END) AS week_1_closures,
SUM(CASE WHEN WEEK = '$week2' AND TYPE = 'closure' THEN 1 ELSE 0 END) AS week_2_closures,
SUM(CASE WHEN WEEK = '$week3' AND TYPE = 'closure' THEN 1 ELSE 0 END) AS week_3_closures,
SUM(CASE WHEN WEEK = '$week4' AND TYPE = 'closure' THEN 1 ELSE 0 END) AS week_4_closures,
SUM(CASE WHEN WEEK = '$week1' AND history LIKE '%rejected%' THEN 1 ELSE 0 END) AS week_1_rejections,
SUM(CASE WHEN WEEK = '$week2' AND history LIKE '%rejected%' THEN 1 ELSE 0 END) AS week_2_rejections,
SUM(CASE WHEN WEEK = '$week3' AND history LIKE '%rejected%' THEN 1 ELSE 0 END) AS week_3_rejections,
SUM(CASE WHEN WEEK = '$week4' AND history LIKE '%rejected%' THEN 1 ELSE 0 END) AS week_4_rejections
FROM
my_table
WHERE
YEAR = '$SafeFY' AND period = '$SafePeriod'
GROUP BY
WEEK
Этот запрос работает и получает нужные мне данные, но из-за того, как я это сделал, данные были повернуты.
Я сделал это только так, потому что это единственный способ, которым я умею. Я хотел бы использовать результат в цикле PHP следующим образом:
echo '<table><opening tags> <etc...>'
while($Row = $Result->fetch_array(MYSQLI_ASSOC)) {
//HTML table rows with $Row['stuff'] here.
}
echo '</etc...></closing tags></table> '
Но данные для распечатки таблицы неправильные:
| Week | Total | Refunds | Closures | Rejections |
| 1 | 44 | 32 | 12 | 3 |
| 2 | 40 | 21 | 19 | 6 |
| 3 | 40 | 22 | 18 | 3 |
| 4 | 41 | 32 | 11 | 6 |
Я неИмейте в виду, что нужно либо изменить запрос, чтобы получить все те же результаты без сводки, чтобы я мог зацикливать их, как я привык, либо делать что-то с массивом PHP, чтобы я мог зацикливаться на результатах этих запросов, в зависимости от того, что проще / лучше. Как?