J'ai deux tableaux: photographies, et photo_tags. Photograph_tags contient une colonne appelée photograph_id (identifiant sur les photos). Vous pouvez avoir plusieurs tags pour une photo. J'ai une rangée de photos liée à trois étiquettes: garçon, ruisseau et eau. Toutefois, l'exécution de la requête suivante renvoie 0 lignesQuel est le problème avec cette requête SQL?
SELECT p.*
FROM photographs p, photograph_tags c
WHERE c.photograph_id = p.id
AND (c.value IN ('dog', 'water', 'stream'))
GROUP BY p.id
HAVING COUNT(p.id)=3
Quelque chose ne va pas dans cette requête?
My tables look like so
-----------------------
photographs
-----------------------
id | title | location
------------------------
7 | asdf | c:\...
-----------------------
photograph_tags
-----------------------
id | photograph_id | value
1 | 7 | dog
2 | 7 | water
3 | 7 | stream
4 | 7 | mountains
I want to pull all photograph rows that relate to at least all three of the searched tags
Cette requête affiche plusieurs des mêmes lignes plusieurs fois – ThinkingInBits
et certains qui n'ont pas tous les trois – ThinkingInBits
@ThinkingInBits: là vous allez, mis à jour le sql de sorte que la photo doit avoir tous les tags –