File: /volume1/@appstore/SynologyPhotos/etc/sql/10.sql
CREATE OR REPLACE VIEW public.general_tag_album_view
AS
SELECT
T.id as id_general_tag, T.name, SS.item_count, T.id_user
FROM
general_tag as T, (
SELECT count(DISTINCT(U.id_item)) AS item_count, R.id_general_tag, U.id_user
FROM many_unit_has_many_general_tag as R, unit as U
WHERE U.id = R.id_unit AND R.id_user = U.id_user AND U.is_major = 't'
GROUP BY R.id_general_tag, U.id_user
) SS WHERE T.id = SS.id_general_tag AND T.id_user = SS.id_user;
CREATE OR REPLACE VIEW public.person_album_view
AS
SELECT
id_person,
person.id_user,
person.name,
person.hidden,
person.cover,
item_count,
person.normalized_name
FROM person ,(
SELECT
face.id_person,
face.id_user,
count(distinct(unit.id_item)) as item_count
FROM face, unit
WHERE unit.id = face.id_unit AND unit.id_user = face.id_user AND unit.is_major = 't'
GROUP BY id_person, face.id_user
) SS WHERE SS.id_person = person.id AND SS.id_user = person.id_user;