[sql] pobieranie zdjęć z danymi tagami

Witajcie- wiem, że temat niespecjalnie nadaje się na to forum, ale już nie bardzo wiem, gdzie szukać pomocy.
Mam trzy tabele:
photos (id,name)
photo_tags (id,name)
photo_tags_photos(id,photo_id,photo_tag_id)

Potrzebuję zbudować zapytanie, które wyświetlałoby mi id(albo name, wszystko jedno) zdjęcia, które jest otagowane przez foo I bar. Aktualnie posiadam coś takiego:

SELECT photos.id as photo_id, photos.name,photo_tags.name AS tag,photo_tags.id as tag_id FROM photos INNER JOIN (photo_tags,photo_tags_photos) ON (photo_tags_photos.photo_id=photos.id AND photo_tags_photos.photo_tag_id = photo_tags.id)
próbowałem już dawać wiele różnych warunków, jednak nie byłem w stanie spłodzić zapytania, które wyświetliłoby mi tylko zdjęcie, które posiada 2 wybrane przeze mnie tagi.
Używam mysql. Do tego projektu akurat nie wykorzystuję (niestety) railsów(o mojej wojnie z adminem serwera to też kiedyś, gdy zbiorę siły napiszę)- więc proszę o pomysły czysto sqlowe, a nie railsowe;)

SELECT photos.name FROM photos JOIN (photo_tags, photo_tags_photos) ON (photo_tags_photos.photo_id=photos.id AND photo_tags_photos.photo_tag_id=photo_tags.id) WHERE photo_tags.id=1 OR photo_tags.id=2 GROUP BY photos.id HAVING count(*)=2;
Ja bym to zrobił w ten sposób. Na pewno dziala, pytanie tylko czy jest optymalne :slight_smile: