У меня есть таблица, которая выглядит следующим образом
CREATE TABLE `purchases` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`totalAmount` INT(10) NOT NULL DEFAULT '0',
`purchaseDate` DATETIME NOT NULL,
PRIMARY KEY (`id`)
)
и другая таблица, в которой хранятся все детали покупок (например, линейные товары)
CREATE TABLE `purchase_items` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`purchaseId` INT(10) NOT NULL,
`itemId` INT(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
FOREIGN KEY (`purchaseId`) REFERENCES purchases(id)
)
Я получаю общее количествопокупки в любой день таким образом
SELECT DATE_FORMAT(purchaseDate, '%m-%d-%Y') AS date,
COUNT(id) AS totalPurchases
FROM purchases
GROUP BY DATE(purchaseDate)
Это дает мне результат как таковой
date totalPurchases
11-18-2010 5
11-19-2010 10
11-20-2010 10
Как мне выполнить запрос так, чтобы он возвращал мне что-то вроде
date totalPurchases totalItems
11-18-2010 5 20
11-19-2010 10 30
11-20-2010 10 25
Таким образом, я все еще буду группировать по дате, но мне нужно выполнить объединение на элементе 'purchase_items' и получить общее количество элементов, которые были связаны с
- 5 покупками за 11-18-2010
- 10 покупок на 11-19-2010
- 10 покупок на 11-20-2010