Eu tenho uma tabela que mantém tags e sua referência. Por exemplo:
| tag | tableName | rowId |
| ---- | --------- | ----- |
| tag1 | table1 | 1 |
| tag2 | table1 | 1 |
| tag1 | table2 | 1 |
Eu gostaria de formar uma consulta que diz algo como "obter nome de tabela distinto e rowId ONDE tem todas essas tags: 'tag1', 'tag2'"
O objetivo desta tabela é facilitar a busca de linhas em tabelas por tags. Talvez eu esteja indo na direção errada completa com a forma de resolver isso.
Como posso fazer isso e manter o desempenho alto?
Obrigado pela ajuda.
OK, acredito que tenho uma resposta satisfatória.
Sou muito novo nisso, mas essa consulta permite encontrar todas as correspondências e agrupá-las por tableName e rowId. Antes de retornar os resultados, ele limita as linhas àquelas que correspondem exatamente ao número de tags pesquisadas.
Se alguém souber uma maneira melhor de fazer isso, aceito sugestões. Obrigado.
Editar 07/06/2018
@akina e @RickJames apontaram que essa consulta só funciona se as linhas forem exclusivas e ofereceram duas soluções para resolver isso. Veja os comentários abaixo.