У меня есть 4 таблицы: сущности, теги, entity_tag_associations и правила. С каждой сущностью связано несколько тегов. Каждое правило сопоставляет исходный тег с целевым тегом. Учитывая исходную сущность, я хотел бы получить все целевые сущности, которые соответствуют всем соответствующим правилам.
Например, скажем, у меня есть следующие строки: теги t1, t2, t3 сущность e1 с тегами t1, t2 сущность e2 с тегами t2, правило t1 r1 с исходным тегом t1 и тегом назначения t2, правило r2 с тегом источника t2 и тегом назначения t3
Учитывая входной объект e1, мне нужно найти теги для e1, которые являются t1, t2. Затем мне нужно найти правила, которые соответствуют этим тегам как источникам, что означает и r1, и r2. Затем накапливаются все сущности, которые соответствуют правилам, в этом случае все сущности, помеченные как t2 и t3m, которые приводят к e1 и e2.
Какой запрос будет наиболее эффективным для достижения этой цели? Я использую sqlite.