У меня есть таблица, в которой каждый месяц происходит несколько платежей в разные даты. Я хотел бы, чтобы запрос возвращал строку для каждого отдельного платежа и в этой же строке возвращал сумму всех платежей за этот месяц / год.
Моя структура таблицы:
tbl_or_Distri
`id` int(11) NOT NULL AUTO_INCREMENT,
`investment_id` int(11) NOT NULL,
`inv_distri_id` int(11) NOT NULL,
`trade_date` datetime NOT NULL,
`pay_date` datetime NOT NULL,
`amount` double NOT NULL,
`perc_return` double NOT NULL,
PRIMARY KEY (`id`),
Мой текущий внутренний запрос:
SELECT
`investment_id`,
SUM(`perc_return`) as perc_return,
SUM(`capital_return`) as capital_return,
SUM(amount) as TotalAmount,
CONCAT(MONTH(pay_date), " ", YEAR(pay_date)) as short_date,
MONTH(pay_date) as pay_month,
YEAR(pay_date) as pay_year
FROM `tbl_or_distri`
WHERE investment_id=29
GROUP BY YEAR(pay_date), MONTH(pay_date)
сумма (сумма), сумма (perc_return) и short_date - это 3 записи, которые мне нужно вернуть в каждой строке основного внешнего запроса. Внешний запрос:
SELECT
`investment_id`,
amount,
pay_date
FROM `tbl_or_distri`
WHERE investment_id=29
Как я могу объединить эти два запроса в один? Поддерживая хорошую производительность?
Спасибо!