Un saluto a tutti.
Ho un problema su Microsoft SQL Server Reporting Services: dovrei creare una query che agisca sui campi ottenuti da un'altra query, e non ho la possibilità di creare una view sul server aziendale poichè ho accesso in sola lettura. E' possibile far interagire tra loro due query in questo modo? (quindi non solo attraverso il passaggio di parametri, ma sfruttando la tabella creata dalla prima query)
**
Provo a spiegare meglio con l'esempio pratico di ciò che devo fare (anche perchè magari esiste un'altra soluzione):
La tabella che devo interrogare ha una colonna con gli UserId, e una colonna con le date di login di questi User.
Da questa tabella devo definire "Normale" un utente che nei 12 mesi precedenti il mese considerato ha eseguito una sola login, e "Super" un utente che nei precedenti 12 mesi ha eseguito 2 login.
Questo lo posso fare, ad esempio, tramite una SELECT CASE
Fatto questo, la tabella finale deve contenere 3 campi: un campo per ogni mese, un campo per il tipo di utente, e un campo che indica quanti utenti per ogni tipo ci sono nei 12 mesi precedenti quel mese, quindi ad esempio:codice:SELECT usrId, CASE WHEN COUNT(usrId) = 1 THEN 'Normale' WHEN COUNT(usrId) = 2 THEN 'Super' ELSE 'Sconosciuto' END AS TipoUtente
Dove il primo 4 significa che da gennaio 2005 a gennaio 2006 ci sono 4 utenti che hanno eseguito login 1 volta solacodice:[MESE] [TIPOUTENTE] [N°UtentiDiQuelTipo] 1 Normale 4 1 Super 3 1 Sconosciuto 2 2 Normale 5 2 Super 1 2 Sconosciuto 4
Il primo 5 significa che da febbraio 2005 a febbraio 2006 ci sono 5 utenti che hanno eseguito login 1 volta sola
E così via
In Access ad esempio riesco a farlo facendo interagire più query. Magari chi ne sa più di me di SQL riesce a fare tutto in un'unica query... ogni soluzione va bene
Spero di essere stato chiaro, nel caso non abbia dato sufficienti informazioni chiedete pure che provo a spiegarmi meglio
Grazie mille dell'aiuto


Rispondi quotando