Vraag : De hulp van de behoefte in het bijwerken van een SQL vraag om veelvoudige gegevens van een signlekolom terug te winnen

Hallo - wij hebben een SQL vraag die tegen twee lijsten van OB loopt en winnen gegevens voor ons terug. De bestaande vraag telt het aantal sucessful klappen (authentificatiesucces) aan een bepaalde toepassing voor elke dag en gesorteerd door Afdeling, Departmentcode, en dag van de maand.

Now die wij hebben moeten om het zelfde met één slechts lijst bereiken. één van de kolom van belang bevat veelvoudige gegevenswaarde want ons d.w.z. USERPROFILEATTRS = uid=markuser1 uid=markuser1 departmentname=Marketing

Here de informatie van de controlelijst zijn:

van de LIJST van AUDIT
(„LEIDT EVENTDATEANDTIME“ TIMESTAMP (6),
„SERVERID“ NVARCHAR2 (255),
„EVENTNAME“ NVARCHAR2 (255),
„URL“ NVARCHAR2 (255),
„VERRICHTING“ NVARCHAR2 (255),
„TARGETUSERDN“ NVARCHAR2 (255),
„IPADDRESS“ NVARCHAR2 (255),
„USERPROFILEATTRS“ NVARCHAR2 (255),
)


The- steekproef tot gegevens van controlelijst kijkt als dit:


EVENTDATEANDTIME = 18-augustus-10 07.33.01.000 000000 PM
SERVERID = myserver1
EVENTNAME = AUTHN_SUCCESS
URL = xyz.mydomain.com %2Fportal%2Flang%2Fen-us%2default.aspx
OPERATION = GET
TARGETUSERDN = uid=markuser1, ou=people, o=mycomany, c=com
IPADDRESS = 10.8.146.134
USERPROFILEATTRS = uid=markuser1 uid=markuser1 die departmentcode=36

Note departmentname=Marketing: de attributen zijn seprated met een ruimteseperator in het gegevensbestand column.

Can wij nu de SQL vraag zodat het gegevens van één lijst terugwint wijzigden en de zelfde output veroorzaken? is de

The bestaande SQL vraag hieronder:


select
department_name,
department_code, dag, (succ_por_count) Portaal
sum,
sum (succ_app1_count) App1,
sum (succ_app2_count) App2
from (
select u.department_name, u.department_code, to_char (eventdateandtime, „yy-mm-dd“) Dag,/>case
case beëindigen
case
from, audit_tbl a
where u.userid = substr (USERPROFILEATTRS, 5)
order door u.department_name, u.department_code, to_date (to_char (eventdateandtime, „yy-mm-dd“), „yy-mm-dd“)
)
group door department_name, department_code, day


Also, is het mogelijk gegevens voor vorige maand slechts om terug te winnen slechts zoals zich verzetten aan alle maanden met deze vraag d.w.z. Wij moeten deze vraag op de eerste dag van elke maand voor de vorige maand in werking stellen d.w.z. als wij dit op 1 Sep in werking stellen, 2010 dan het toont slechts verslagen voor Augustus 2010 month.

Note zou moeten: nav_kum_v hielp me om de eerste vraag te bouwen en ik hoop hij dit.

Thanks,
kan omhoog eveneens plukken

Antwoord : De hulp van de behoefte in het bijwerken van een SQL vraag om veelvoudige gegevens van een signlekolom terug te winnen

als u dit op om het even welk ogenblik in werking stelt, zal het sysdate controleren (bijvoorbeeld vandaag is 25 augustus-2010) en de vraag zal gegevens voor de juli-2010 maand brengen. Laat me weten of hebt u om het even welke wijzigingen nodig.

Probeer dit:

selecteer
department_name,
department_code,
day1,
som (succ_por_count) Portaal,
som (succ_app1_count) App1,
som (succ_app2_count) App2
van (
selecteer
substr (USERPROFILEATTRS, instr (userprofileattrs, „=“, 1.2) +1,
instr (substr (USERPROFILEATTRS, instr (userprofileattrs, „=“, 1.2) +1), ' ') - 1) department_name,  
substr (userprofileattrs, instr (userprofileattrs, „=“, - 1) +1) department_code,
to_char (eventdateandtime, „yy-mm-dd“) Day1,
geval wanneer EVENTNAME = „AUTHN_SUCCESS“ en url als „%portal%“ toen 1 anders 0 succ_por_count beëindigen,
geval wanneer EVENTNAME = „AUTHN_SUCCESS“ en url als „%APP1%“ toen 1 0 anders succ_app1_count beëindigen,
geval wanneer EVENTNAME = „AUTHN_SUCCESS“ en url als „%APP2%“ toen 1 0 anders succ_app2_count beëindigen
van audit_tbl
waar to_char (eventdateandtime, „yyyymm“) = to_char (add_months (trunc (sysdate), - 1), „yyyymm“)
orde door department_name, department_code, to_date (to_char (eventdateandtime, „yy-mm-dd“), „yy-mm-dd“)
)
groep door department_name, department_code, day1;
Andere oplossingen  
 
programming4us programming4us