У меня есть три таблицы в SQL Сервер-Алгоритм поиска для уникального результата с несколькими тегами
Photos table:
----------------------
| PhotoId | PhotoName|
----------------------
| | |
----------------------
Tags table:
----------------------
| TagId | TagName|
----------------------
| | |
----------------------
Junction table:
----------------------
| PhotoId | TagId |
----------------------
| | |
----------------------
Фото может иметь несколько тегов и тег может принадлежать нескольким фотографиям.
Теперь, например Eagle
имеет теги Bird, Animal, Wild
. Я бы хотел найти с тегами Domestic, Bird, Animal
. Я использую sql-оператор where TagName='Domestic' OR TagName='Bird' OR TagName='Animal'
. Проблема в том, что он производит результат запроса, когда Eagle приходит два раза.
Но я хотел бы иметь Eagle только один раз. Есть идеи?
С правильными индексами, это, вероятно, самым быстрым решением. –