Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    query di ricerca con problema

    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
    11
    ID_ATTIVITA
    63
    207
    207
    224
    257
    257
    224
    257
    252
    ID_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

  2. #2
    mi viene in mente una cosa del genere, se il dbms la supporta

    codice:
    select a.id_attivita from attivita a
    where exists (select 1 from attivita_adds_relazioni ads 
                        where ads.id_attivita=a.id_attivita
                        and  ads.id_attivita_adds=1)
      and exists (....)
    

  3. #3
    Grazie 1000, è proprio questa!

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.