Мне было трудно подвести итог моего вопроса. В основном:
Есть таблица, которая называется "файлы". Файлы содержат запись под названием "оценки". Он используется для определения определенного уровня обучения, для которого файл может быть полезен. Поскольку файл может быть полезен для> 1 класса, я храню такие вещи
Если это хорошо только для 3-го класса
оценки: 3
Если это хорошо для 3-го, 4-го и 5-го:
оценки: 3,4,5
и т. Д. И т. Д.
Когда я собирал SQL-запрос для получения этих файлов, я столкнулся со странной проблемой - в основном пользователь может сказать: «Я хочу только то, что хорошо для 2-го и 3-го класса». Поэтому я должен искать файлы, которые имеют «2,3» в области оценок. Легко! НО!
Он также может иметь «1,2,3» или «2,3,4» или «2,4».
У меня болит голова, я просто думаю об этом. Достаточно просто проанализировать эти записи через запятую, чтобы получить «1» и «2», но каков наиболее эффективный способ сопоставить запись SQL с запросом? Кажется пустой тратой получить КАЖДУЮ ЗАПИСЬ в БД, разобрать их, а затем сопоставить снова.
Лучше ли вернуться к исходной точке и создать базу данных под названием "файлы" и отдельные таблицы для каждого класса? Это также кажется пустой тратой - написание нескольких записей для одного файла.
Какое решение здесь? Я немного сбит с толку.