>SELECT t_avvisi.cliente_media, t_avvisi.cliente_rcs
>FROM t_avvisi
>GROUP BY t_avvisi.cliente_media, t_avvisi.cliente_rcs
>HAVING (((t_avvisi.cliente_media) In (select cliente_media from
>q_filtro_aziende)))
>ORDER BY t_avvisi.cliente_media, t_avvisi.cliente_rcs
>WITH OWNERACCESS OPTION;
Ciao mo70,
perché specifichi il criterio di ricerca nella clausola HAVING?
La tua query effettua l'aggregazione SU TUTTE le righe della tabella t_avvisi e poi va a filtrare solo quelle che soddisfano la condizione t_avvisi.cliente_media IN (select cliente_media from q_filtro_aziende).
Secondo me otterresti lo stesso risultato ma in un tempo inferiore filtrando a monte le righe, spostando il criterio di ricerca nella clausola WHERE:
SELECT cliente_media, cliente_rcs
FROM t_avvisi
WHERE cliente_media IN (
SELECT cliente_media
FROM q_filtro_aziende
)
GROUP BY cliente_media, cliente_rcs
ORDER BY cliente_media, cliente_rcs
WITH OWNERACCESS OPTION;
>ho provato a sostituire l'istruzione "select cliente_media from
>q_filtro_aziende" con il parametro [@filtro_azienda] e in questo
>caso non mi restituisce nessun record.
Qua non ti seguo più.... non puoi parametrizzare una intera SELECT.
Posta la struttura delle due tabelle, alcune righe di prova ed il risultato che vorresti ottenere.
>Grazie.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org