ciao a tutti,
ho un piccolo problema di logica su questa query:
SELECT DISTINCT aar.id_attivita AS id_record, a.ordine AS ordine_prod, a.foto1 AS foto_attivita, co.comune_it, a.titolo_it, a.indirizzo, a.cap, a.localita, a.tel
FROM (((attivita AS a INNER JOIN attivita_cat AS c ON a.id_attivita_cat=c.id_attivita_cat)
LEFT OUTER JOIN comuni AS co ON a.id_comune = co.id_comune)
LEFT OUTER JOIN attivita_adds_relazioni AS aar ON a.id_attivita = aar.id_attivita)
WHERE a.online=1 AND aar.id_attivita_adds IN (1,2,4)
ORDER BY a.titolo_it ASC
semplificando, la parte che mi crea problema è questa:
SELECT DISTINCT id_attivita FROM attivita_adds_relazioni WHERE id_attivita_adds IN (1,2,4)
dove la tabella attivita_adds_relazioni è così strutturata:
ID_ATTIVITA_ADDS_RELAZIONI
3
4
5
6
7
8
9
10
11ID_ATTIVITA
63
207
207
224
257
257
224
257
252ID_ATTIVITA_ADDS
1
1
2
1
1
2
4
4
4
vorrei che la query mi restituisse solo i record che hanno contemporanemente ID_ATTIVITA_ADDS uguale a 1, a 2 e a 4, in questo caso dovrebbe restituirmene solo 1
con la mia query però me ne restituisce 6, in pratica quelli che hanno almeno 1 degli attributi presenti.
ho provato anche con questa forma, ma non è il risultato che mi aspetto:
SELECT COUNT(*), id_attivita FROM attivita_adds_relazioni
WHERE id_attivita_adds IN (1,2,4)
GROUP BY id_attivita
HAVING COUNT(*)>1
Grazie in anticipo per l'aiuto