I have 3 tables and its respectives structure:

```
users: id(1),name
colors: id(2),name,tags
hobbies: id(3),name,tags
userSettings: id,int(1) userid,int(2) color,int(3) hobbie

```

Tables values:

```
users: {1,john},{2,ana}

colors: {1,blue,blue azul celeste },{2,red,red vermelho rosso}

hobbies: {1,sing,cantare cantar sing},{2,run,running correr runner}

userSettings: {1,1,1,2},{2,2,2,1}

```

So... what I need is to find which users has the color or hobbie searched by the user. For example: if I search by `"blue"` or `"runner"` I have to find user `1 - John`.

If I search by `"rosso"` or `"sing"` I have to find user `2 - Ana`. I know how to do this with 3 queries but I know that exists a method to improve this to just one query that would be fast since the fields are indexed. 

Does any one can help?