" (SELECT COUNT(e.eid) "
" FROM episode e "
" WHERE e.aid = a.aid), "
- " (SELECT COUNT(DISTINCT f.eid) "
- " FROM episode e "
- " JOIN file f ON (f.eid = e.eid) "
- " WHERE e.aid = a.aid "
- " AND f.my_watched IS NOT NULL), "
+ " (SELECT COUNT(DISTINCT eid) "
+ " FROM "
+ " (SELECT e.eid FROM episode e "
+ " JOIN file f ON (f.eid = e.eid) "
+ " WHERE e.aid = a.aid "
+ " AND f.my_watched IS NOT NULL "
+ " UNION "
+ " SELECT e.eid FROM episode e "
+ " JOIN file_episode_rel fer ON fer.eid = e.eid "
+ " JOIN file f ON f.fid = fer.fid "
+ " WHERE e.aid = a.aid "
+ " AND f.my_watched IS NOT NULL) sq), "
" (SELECT CASE WHEN array_length(my_state_array, 1) > 1 THEN -1 ELSE my_state_array[1] END "
" FROM "
" (SELECT array_agg(my_state) my_state_array "