Newsgroup: it.comp.software.database
Titolo: query conteggio molto complessa - testo.txt (0/1)

mi scuso se per questa volta metto il testo della presente in allegato
ma le tabelle altrimenti sono illeggibili
Ho un elenco chiamato merceologico che riporta per ogni codice azienda
i tre livelli merceologici come ad esempio:
CUSTOMER_ID	INTEREST_TYPE_ITA	    INTEREST_P_CODE_ITA
INTEREST_S_CODE_ITA
1092	 D_TELECOMUNICAZIONI E NETWORKING	Cablaggio
Apparecchiature a fibra ottica
1092	 D_TELECOMUNICAZIONI E NETWORKING	Cablaggio
Apparecchiature di trasmissione
1092	 D_TELECOMUNICAZIONI E NETWORKING	Cablaggio 	Reti
wireless
1092	 D_TELECOMUNICAZIONI E NETWORKING	Cablaggio
Servizi di rete:
1092	 D_TELECOMUNICAZIONI E NETWORKING	Cablaggio
Sistemi per controllo dell'accesso alla rete e all'applicazione
1092	 D_TELECOMUNICAZIONI E NETWORKING	Network computing
Adapter
18859	 A_HARDWARE E COMPLEMENTI	                Monitor,
periferiche, schede e implementazione	Schede:
18875	 A_HARDWARE E COMPLEMENTI	                Sistemi di
identificazione, sicurezza elettronica, smart card	
18870	 A_HARDWARE E COMPLEMENTI	                Sistemi di
identificazione, sicurezza elettronica, smart card	
18869	 A_HARDWARE E COMPLEMENTI           	Monitor, periferiche,
schede e implementazione	Schermi (monitor):
ovviamente un'azienda (=customer_id) puo' comparire in piu' righe
perche' ha definite piu' categorie merceologiche.
Quindi nella tabella sopra ho:
azienda,merceologia primo livello, secondo livello, terzo livello
Poi ho una tabella che per ogni tripletta merceologica definisce un
macro gruppo di appartenenza ad esempio:
ID	ORDINE	INTEREST_TYPE	PRIMARY	SECONDARY
SECONDARY INTEREST TYPE
GRUPPO BANCA?          GRUPPO DOMOTICA?    GRUPPO UFFICIO?
150	150	 B_SOFTWARE	Soluzioni e software per banche e
assicurazioni	              NULL
SI                                         NO
NO
151	151	 B_SOFTWARE	Soluzioni e software per banche e
assicurazioni	Software applicativo per banche, finanza e
assicurazioni:	                    SI
NO                            NO
9	9	 A_HARDWARE E COMPLEMENTI	Apparati multimediali
per l'ufficio	Altre apparecchiature per la comunicazione
audio-visiva          NO                                      NO
SI
10	10	 A_HARDWARE E COMPLEMENTI	Apparati multimediali
per l'ufficio	Altri materiali ausiliari per l'EDP
NO                                     NO
NO
Quindi nella tabella sopra ho:
tripletta merceologica e indicazione di appartenenza ad un certo macro
insieme.
I macroinsiemi sono ad esempio: applicazioni bancarie, sw per il
commercio, sicurezza, svago....
L'appartenenza o meno delle merceologie ad un'insieme cioe' il
popolamento dei SI e dei NO lo faccio fare ad una segretaria tramite
un modulo access in cui deve spuntare dei checkbox.
QUELLO CHE NON RIESCO A FARE E'...
una query che mi riporta il numero totale di aziende che appartengono
ad un gruppo cioe' 
GRUPPOBANCA GRUPPODOMOTICA ....
 10aziende                 5aziende
Forse devo usare il count distinct ?
Ho provato a fare una query di questo tipo ma non conta in modo
corretto.
CREATE OR REPLACE FORCE VIEW NOMESCHEMA.PROVA
(CONTA1)
AS 
SELECT 
(select  count(  mer.customer_id)  
 FROM mappatura_interest_type MAP, merceologico mer
 WHERE (    (mer.interest_type_ita = MAP.interest_type)
        AND (mer.interest_p_code_ita = MAP.PRIMARY)
        AND (mer.interest_s_code_ita = MAP.secondary)
		and (map.attrubute1 = 'SI')
       )
 ) as conta1  FROM mappatura_interest_type MAP, merceologico mer;
Mi aiutate ?
Avete qualche idea su come farla in un'altro modo ?
Se volete metto da qualche parte le tabelle access cosi' vi e' piu'
chiaro.
Ciao
Albe

