Информация:
У меня есть галерея с любым количеством альбомов, в каждом альбоме может быть любое количество изображений.
Поэтому у меня есть таблица «gallery_album» со всеми альбомами. У меня также есть таблица «gallery_item», которая содержит все элементы для каждого альбома.
Что я хочу сделать:
Я хочу, чтобы в качестве одного значения можно было определить, сколько элементов в корзине для мусора (альбомов и элементов).
Если альбом находится в корзине, все элементы также должны быть в корзине.
Я сделал следующее заявление, но мне все еще нужно каким-то образом получить счет SUM, чтобы он отображался в одном значении вместо одной строки на альбом. (Я не знаю, является ли это лучшим подходом, поэтому, пожалуйста, поправьте меня!)
(Когда статус -2, он зарегистрирован как находящийся в мусорном ведре. Я не хочу отмечать все элементы с -2 при пометке альбома с -2)
SELECT a.id,
CASE a.status
WHEN -2
THEN (
SELECT COUNT(*)
FROM gallery_item i
WHERE i.fk_album = a.id
) + 1
ELSE (
SELECT COUNT(*)
FROM gallery_item i
WHERE (i.fk_album = a.id) && (i.status = -2)
)
END as cnt, a.status
FROM gallery_album a
GROUP BY a.id
Заранее спасибо!