У меня есть запрос типа
SELECT weeks_ind, weeks_rol, weeks_no, date,
CASE WHEN SUM(CASE WHEN rec = 'Y' THEN 1 ELSE 0 END) >= 1 THEN 'Y' ELSE 'N' END "rec",
CASE WHEN (SUM( CASE WHEN glob is null THEN 1 WHEN glob = Id THEN 2 ELSE 0 END )) = 3 THEN 'Many'
WHEN (SUM( CASE WHEN glob is null THEN 1 WHEN glob = Id THEN 2 ELSE 0 END )) = 2 THEN 'One'
ELSE 'None' END "Type"
FROM Table WHERE Id = '12345'
AND ((visible = 'Y' AND rec = 'N') OR rec = 'Y') AND days = 100
GROUP BY date, weeks_no, weeks_ind, weeks_rol
ORDER BY date, weeks_no;
И работает хорошо, как и ожидалось, возвращает все записи.Но если я добавлю в GROUP BY "rec" как
GROUP BY date, weeks_no, weeks_ind, weeks_rol, rec
Запрос не вернет все записи, и более того, тип неправильный.Есть идеи, почему это происходит?Я знаю, что группа только группирует записи и не влияет на количество записей.