Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
[SQL Srv Rep Serv] Interazione tra query diverse
venerdì 17 marzo 2006 - 09.41
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Hamelin [FL]
Profilo
| Junior Member
65
messaggi | Data Invio:
ven 17 mar 2006 - 09:41
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
SELECT usrId,
CASE
WHEN COUNT(usrId) = 1 THEN 'Normale'
WHEN COUNT(usrId) = 2 THEN 'Super'
ELSE 'Sconosciuto'
END
AS TipoUtente
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:
[MESE] [TIPOUTENTE] [N°UtentiDiQuelTipo]
1 Normale 4
1 Super 3
1 Sconosciuto 2
2 Normale 5
2 Super 1
2 Sconosciuto 4
Dove il primo 4 significa che da gennaio 2005 a gennaio 2006 ci sono 4 utenti che hanno eseguito login 1 volta sola
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
Spero di essere stato chiaro, nel caso non abbia dato sufficienti informazioni chiedete pure che provo a spiegarmi meglio
Grazie mille dell'aiuto
Hamelin [FL]
Profilo
| Junior Member
65
messaggi | Data Invio:
ven 17 mar 2006 - 11:30
Uhm... no, questa via non l'ho provata.
Cioè, come dataset posso mettere una query? (mi sembrava strano che non si potesse fare, ma sul manuale di SSRS non avevo trovato l'argomento)
Ora provo a smanettarci un po'... tu sai come si imposta una query come dataset?
Hamelin [FL]
Profilo
| Junior Member
65
messaggi | Data Invio:
ven 17 mar 2006 - 12:02
Scusa se sono un po' lento, ma non sono sicuro di aver capito bene:
Io ho la mia query che si trova sul DataSet1. Questa query crea i campi "UsrId" e "TipoUtente"
A questo punto posso creare su un altro DataSet un'altra query che vada interrogare UsrId e TipoUtente della prima query?
O se non era questo che intendevi, mi potresti spiegare come dovrei seguire la via che mi hai suggerito?
Grazie per l'attenzione che mi stai dedicando
Hamelin [FL]
Profilo
| Junior Member
65
messaggi | Data Invio:
ven 17 mar 2006 - 12:28
Nel DataSet1 ho la seguente query:
SELECT usrId,
CASE
WHEN COUNT(usrId) = 1 THEN 'Normale'
WHEN COUNT(usrId) = 2 THEN 'Super'
ELSE 'Sconosciuto'
END
AS TipoUtente
Se la eseguo, mi genera la tabella (temporanea) con i campi usrId e TipoUtente
A me servirebbe, con un'altra query, andare a interrogare questa "tabella temporanea" in modo, ad esempio, da contare gli usrId per ogni TipoUtente
E' possibile farlo? E' possibile interrogare, con una query, il risultato di un'altra mia query? Se sì, mi potresti spiegare come?
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !