Я пытаюсь вычислить простым способом, который позволит мне управлять следующей таблицей базы данных:
code ----- companyID ----- bought----- returned
abcd ----- 32 ----- 1 ----- 0
efgh ----- 32 ----- 1 ----- 1
ijkl ----- 58 ----- 1 ----- 1
mnop ----- 65 ----- 1 ----- 0
, и я пытаюсь получить желаемый (ниже результат) с этим запросом
SELECT COUNT(*) AS bought, companyID FROM table
WHERE bought= 1 AND refunded = 0
UNION ALL
SELECT COUNT(*) AS returned, companyID FROM table
WHERE returned= 1
GROUP BY companyID
, что неверно.
Вот требуемый результат:
companyID ----- codesTotal ----- boughtTotal ----- returnedTotal
32 ----- 2 ----- 2 ----- 1
58 ----- 1 ----- 1 ----- 1
65 ----- 1 ----- 1 ----- 0
Номера строк в идентификаторе компании должны быть равны купленному итогу.
Как я могу отредактировать код, чтобы добиться этого?