Noob вопрос для вложенного запроса. Имея небольшую проблему с этим SQL-запросом. Пожалуйста помоги. Попытка указать поля COUNT 2 в одной таблице и группе по месяцам, годам. Запрос возвращает те же результаты в новых и обновленных полях.Вложенная группа MYSQL от MONTH, YEAR
SELECT MONTH(p.created_at) as Month, YEAR(p.created_at) as Year,
(SELECT COUNT(p.id) FROM payments p
INNER JOIN carts c ON c.payment_id = p.id
INNER JOIN cart_items ci on ci.cart_id = c.id
WHERE ci.item_id = 8) as 'New',
(SELECT COUNT(p.id) FROM payments p
INNER JOIN carts c ON c.payment_id = p.id
INNER JOIN cart_items ci on ci.cart_id = c.id
WHERE ci.item_id = 13) as 'Renewal',
FROM payments p
GROUP BY month, year
Спасибо за помощь!
Запрос Expample
Month Year New Renewal
1 2010 1169 556
1 2011 1169 556
1 2012 1169 556
2 2010 1169 556
2 2011 1169 556
Предоставьте несколько примеров данных, и на них будет легче ответить. Покажите нам, каков результат этого запроса и какой результат вы хотите. –
Да, пожалуйста, покажите нам некоторые данные примера. Кроме того, что произойдет, если вы выберете подзапросы и запустите их самостоятельно? Похоже, что единственное различие заключается в том, что 'ci.item_id' составляет 8 или 13, верно? Это правильный номер для 'new' или' renewal' в вашей базе данных? – Daan
Добавлены данные примера из вышеуказанного запроса. Item_id = 8 является новым в db, а 13 - обновлением в db. Если я вытащил простой выбор без добавления второго продукта, все данные выдаются, как я хотел. Похоже, @nishant ответил ниже – tumolo