использовать левое соединение
WITH MemberNums AS
(
SELECT School_No, Category, COUNT(Member_No) AS NumberOfMembs
FROM Member_School
WHERE Finish_Date > GETDATE()
AND Category IS NOT NULL
GROUP BY School_No, Category
)
SELECT School.School_No, Category.Category, MemberNums.NumberOfMembs AS NumberOfMembs, School.School_Name, School.ATH_No, School.AWA_No, School.CLE_No, School.CYC_No, School.CYF_No, School.OBS_No, School.PEN_No, School.RHI_No,
School.STA_No, School.SYL_No
FROM School
left JOIN MemberNums
ON School.School_No = MemberNums.School_No
LEFT JOIN Category
ON Category.Category_No = MemberNums.Category
ORDER BY School_No
См. Главу по Загрузке Файлов в Руководстве пользователя Grails. Также возможно использовать java.sql. Блоб как тип для двоичного содержания (который был бы предпочтителен при контакте с огромными файлами).
альтернативно, храните файл на диске и сохраните путь к нему в базе данных. это обычно быстрее для доступа к тому файлу на диске, чем в дб. но конечно, который действительно просто зависит от Ваших потребностей в приложении. Но знайте об этой альтернативе.
Недавно я использовал byte [] в классе домена для хранения файла, он работал нормально, пока я не переместил свое приложение из С «HSQLDB» на «Oracle express». В Oracle, byte [] был сопоставлен с необработанным объектом вместо blob ... (не уверен, что именно было неправильно), и я наконец-то решил проблему, используя java.sql.blob
У меня была такая же проблема. Все, что мне нужно было сделать, это перейти в базу данных (Oracle) и изменить тип столбца с RAW на Blob. (На самом деле мне пришлось удалить столбец, а затем создать новый). Мне так и не удалось выяснить, как использовать «java.sql.Blob», как предлагалось выше. Я нашел это это (преобразование байтов в Blob) , но это показалось немного сложным.