Questione : Domanda di SQL per la funzione di conteggio sulle tabelle multiple

Ciao esperti - devo sviluppare una domanda di SQL contro una base di dati di Oracle (due tabelle) che farebbe quanto segue: conteggio del


- il numero dei colpi sucessful (successo di autenticazione) ad un'applicazione particolare per ogni giorno e fascicolata entro Department, Departmentcode ed il giorno del month.

such a che l'uscita della domanda assomiglia: il
Marketing 36 YY-MM-DD 134 di giorno App1 App2
di codice del

Department 54 89
Finance 16 YY-MM-DD 3 5 3
Development 12 YY-MM-DD 3 76 0


There è due tabelle di interesse uno che contiene le informazioni di verifica (verifica) e l'altra che contenga le informazioni di reparto (utente). il

Here è le informazioni della tabella di verifica: il

GENERA i dati del campione del


The del
(TIMESTAMP “di EVENTDATEANDTIME„ (6),
“SERVERID„ NVARCHAR2 (255),
“EVENTNAME„ NVARCHAR2 (255),
“URL„ NVARCHAR2 (255),
“FUNZIONAMENTO„ NVARCHAR2 (255),
“TARGETUSERDN„ NVARCHAR2 (255),
“IP ADDRESS„ NVARCHAR2 (255),
“USERPROFILEATTRS„ NVARCHAR2 (255),
) dalla tabella di verifica assomiglia a questo: il


EVENTDATEANDTIME 07.33.01.000 000000 PM
SERVERID = myserver1/>EVENTNAME =
URL %2Fportal%2Flang%2Fen-us%2default.aspx/>OPERATION = OTTIENE il
TARGETUSERDN = uid=markuser1, ou=people, o=mycomany, c=com
IPADDRESS =
USERPROFILEATTRS = uid=markuser1

EVENTDATEANDTIME = di 19-AUG-10 05.30.09.000 000000 PM
SERVERID = myserver2/>EVENTNAME =
URL %2FAPP1%2Flang%2Fen-us%2default.aspx/>OPERATION = OTTIENE il
TARGETUSERDN = uid=finuser1, ou=people, o=mycomany, c=com
IPADDRESS =
USERPROFILEATTRS = uid=finuser1


Here è le informazioni della tabella di utente del campione: user
della TABELLA del

CREATE (userid varchar2 (50) nulli, il department_name varchar2 (50) nulli, dati del
del campione del

The di numero del department_code del
(6) non posizione di segnale minimo,
) dalla tabella di utente assomiglia a questo:

userid = markuser1/>Department_name = Marketing
Department_code = 36

userid = finuser1/>Department_name = Finance
Department_code = 12

Thanks,
class= del

Risposta : Domanda di SQL per la funzione di conteggio sulle tabelle multiple

provare questo:

selezionare
department_name,
department_code, giorno,
portale di somma (succ_por_count),
somma (succ_app1_count) App1,
somma (succ_app2_count) App2
da (
selezionare u.department_name, u.department_code, (eventdateandtime, “yy-millimetro-dd ") il giorno to_char,
caso quando EVENTNAME = “AUTHN_SUCCESS„ ed URL gradicono “%portal%„ allora 1 altrimenti 0 succ_por_count dell'estremità,
caso quando EVENTNAME = “AUTHN_SUCCESS„ ed URL gradicono “%APP1%„ allora 1 altrimenti 0 estremità succ_app1_count,
caso quando EVENTNAME = “AUTHN_SUCCESS„ ed URL gradicono “%APP2%„ allora 1 altrimenti 0 estremità succ_app2_count
da user_tbl u, audit_tbl a
dove u.userid = substr (USERPROFILEATTRS, 5)
ordine da u.department_name, u.department_code, to_date (to_char (eventdateandtime, “yy-millimetro-dd "), “yy-millimetro-dd ")
)
gruppo da department_name, department_code, giorno

Altre soluzioni  
 
programming4us programming4us