Questione : Aiuto di bisogno nell'aggiornamento della domanda di SQL per richiamare i dati multipli da una colonna del signle

Ciao - abbiamo una domanda di SQL che funziona contro due tabelle del DB e ci richiamiamo i dati per. La domanda attuale conta il numero dei colpi sucessful (successo di autenticazione) ad un'applicazione particolare per ogni giorno e fascicolata entro Department, Departmentcode ed il giorno del mese.

Now che dobbiamo realizzare lo stessi con una tabella soltanto. uno della colonna di interesse ci contiene il valore di dati multiplo per cioè departmentname=Marketing

Here di uid=markuser1 = di USERPROFILEATTRS uid=markuser1 è le informazioni della tabella di verifica: il

GENERA i dati del campione del


The di AUDIT
(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:


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

Note: gli attributi seprated con un seperator dello spazio nella base di dati column.

Can che ora abbiamo modificato la domanda di SQL in modo che richiami i dati da una tabella e che produciamo la stessa uscita? la domanda esistente del

The SQL è qui sotto:


select
department_name,
department_code, giorno, portale del
sum (succ_por_count),
sum (succ_app1_count) App1,
sum (succ_app2_count) App2
from (
select u.department_name, u.department_code, to_char (eventdateandtime, “giorno del ") del yy-mm-dd,
case quando EVENTNAME = “AUTHN_SUCCESS„ ed URL gradicono “%portal%„ allora 1 altrimenti 0 succ_por_count dell'estremità,
case quando EVENTNAME = “AUTHN_SUCCESS„ ed URL gradicono “%APP1%„ allora 1 altrimenti 0 estremità succ_app1_count,
case quando EVENTNAME = “AUTHN_SUCCESS„ ed URL gradicono “%APP2%„ allora 1 altrimenti 0 user_tbl u dell'estremità succ_app2_count
from, a
where u.userid del audit_tbl = il
group del substr (USERPROFILEATTRS, 5)
order da u.department_name, u.department_code, to_date (to_char (eventdateandtime, “yy-mm-dd "), “")
del yy-mm-dd) da department_name, il department_code, il day


Also, è esso possibile richiamare soltanto i dati per il mese scorso soltanto come si oppone a a tutti mesi con questa domanda cioè. Dobbiamo fare funzionare questa domanda il primo giorno di ogni mese per il mese precedente cioè se facciamo funzionare questo il 1° settembre 2010 allora che dovrebbe soltanto annotazioni di esposizioni per l'agosto 2010 month.

Note: il nav_kum_v stava aiutandolo a sviluppare la prima domanda e sono sperando lui posso prendere questo pure.

Thanks,
class= del

Risposta : Aiuto di bisogno nell'aggiornamento della domanda di SQL per richiamare i dati multipli da una colonna del signle

se fate funzionare in qualunque momento questo, controllerà lo sysdate (per esempio oggi è il 25 agosto - 2010) e la domanda porterà i dati per il mese july-2010. Lasciarlo sapere se avete bisogno di qualunque modifiche.

Provare questo:

selezionare
department_name,
department_code,
day1,
portale di somma (succ_por_count),
somma (succ_app1_count) App1,
somma (succ_app2_count) App2
da (
prescelto
substr (USERPROFILEATTRS, instr (userprofileattrs, “=„, 1.2) +1,
instr (substr (USERPROFILEATTRS, instr (userprofileattrs, “=„, 1.2) +1), ' ') - 1) department_name,  
substr (userprofileattrs, department_code del instr (userprofileattrs, “=„, - 1) +1),
(eventdateandtime, “yy-millimetro-dd ") Day1 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 audit_tbl
dove to_char (eventdateandtime, “yyyymm ") = to_char (add_months (trunc (sysdate), - 1), “yyyymm ")
ordine da department_name, department_code, to_date (to_char (eventdateandtime, “yy-millimetro-dd "), “yy-millimetro-dd ")
)
gruppo da department_name, department_code, day1;
Altre soluzioni  
 
programming4us programming4us