SELECT i.ImageId , i.Image FROM images i JOIN tags t_f ON i.ImageId = t_f.ImageId AND t_f.Tag = 'fuzzy' JOIN tags t_b ON i.ImageId = t_b.ImageId AND t_b.Tag = 'bitey'
SELECT i.imageid, i.thumb, i.title FROM Images i JOIN tags t ON i.imageID = t.imageID WHERE t.tag IN ('fuzzy', 'bitey') GROUP by i.imageId HAVING COUNT(*) = 2
ImageID Image 1 cat.jpg 2 mouse.jpg 3 hamster.jpg 4 dog.jpg
TagID Tag 1 nice 2 bitey 3 fuzzy
ImageID TagID 1 1 4 1 2 2 3 2 1 3 2 3 3 3 4 3
SELECT t1.* FROM images t1 JOIN crosstab t2 ON t1.ImageID=t2.ImageID JOIN tags t3 ON t2.TagID=t3.TagID WHERE t3.Tag='fuzzy' AND t3.Tag='bitey';
Maybe the 'AND' should be 'OR'
<shrug>