Я пытаюсь написать запрос, который оценивает, насколько хорошо конкретный объект соответствует некоторым критериям поиска.
У меня есть таблица со столбцами: objectid, typeid и name. С объектом может быть связано два имени (текущее имя или предыдущее имя). Идентификатор типа идентифицирует тип имени строки.
Пользователь может искать базу данных из формы. Форма представляет две строки. Я хочу выполнить поиск в базе данных и в строках, которые соответствуют string1 и имеют тип "текущее имя", получив оценку 1.
Строки, соответствующие строке2 и типу «предыдущее имя», также получают рейтинг 1.
Строки, которые соответствуют строке1, но относятся к типу «предыдущее имя», все еще выбраны, но им присвоен рейтинг 0.
Строки, которые соответствуют строке2, но относятся к типу «текущее имя», по-прежнему также выбираются, но им присваивается рейтинг 0.
В настоящее время я ищу строку1 и строку2, где типом является «предыдущее имя» или «текущее имя», и группирую результаты по objectid, а рейтинг основывается на количестве каждой группы. Но это недостаточно гибко, чтобы давать разные оценки в зависимости от того, в каком столбце была найдена строка.
У меня есть другие критерии, которые влияют на рейтинг. У меня просто проблемы с попыткой изначально заполнить временную таблицу.