Frage : Sql-Frage für Zählimpulsfunktion auf mehrfachen Tabellen

Hallo Experten - ich muss eine SQL-Frage gegen eine Oracle-Datenbank (zwei Tabellen) aufbauen die das folgende tun würde:


- Zählimpuls die Zahl sucessful Schlägen (Authentisierungserfolg) zu einer bestimmten Anwendung für jeden Tag und bis zum Department, Departmentcode und Tag des month.

such sortiert, das Ausgang der Frage wie aussieht:

Department Code TagportalApp1 App2

Marketing 6 YY-MM-DD 134 54 89
Finance 16 YY-MM-DD 3 5 3
Development 12 YY-MM-DD 3 76 0


There sind zwei Tabellen Interesse eins, das die Bilanzinformationen (Bilanz) und die andere enthält, die die Abteilungsinformationen (Benutzer) enthält.

Here ist die Bilanztabelleninformationen:

VERURSACHEN TABELLEN-BILANZ
(„EVENTDATEANDTIME“ ZEITSTEMPEL (6),
„SERVERID“ NVARCHAR2 (255),
„EVENTNAME“ NVARCHAR2 (255),
„URL“ NVARCHAR2 (255),
„BETRIEB“ NVARCHAR2 (255),
„TARGETUSERDN“ NVARCHAR2 (255),
„IP ADDRESS“ NVARCHAR2 (255),
„USERPROFILEATTRS“ NVARCHAR2 (255),
)


The Beispieldaten von der Bilanztabelle aussieht wie dieses:


EVENTDATEANDTIME = 18-AUG-10 07.33.01.000 000000 P.M.
SERVERID = myserver1/>EVENTNAME = AUTHN_SUCCESS
URL = xyz.mydomain.com %2Fportal%2Flang%2Fen-us%2default.aspx
OPERATION = ERHALTEN
TARGETUSERDN = uid=markuser1, ou=people, o=mycomany, c=com
IPADDRESS = 10.8.146.134
USERPROFILEATTRS = uid=markuser1

EVENTDATEANDTIME = 19-AUG-10 05.30.09.000 000000 P.M.
SERVERID = myserver2/>EVENTNAME = AUTHN_SUCCESS
URL = xyz.mydomain.com %2FAPP1%2Flang%2Fen-us%2default.aspx
OPERATION = ERHALTEN
TARGETUSERDN = uid=finuser1, ou=people, o=mycomany, c=com
IPADDRESS = 10.8.146.130
USERPROFILEATTRS = uid=finuser1


Here ist die Beispielanwendertabelleninformationen:

CREATE TABELLE user
(userid varchar2 (50) nicht ungültig,
das department_name varchar2 (50) nicht ungültig,
department_code Zahl (6) nicht Null,
)

The Beispieldaten von der Anwendertabelle sieht wie dieses aus:

userid = markuser1/>Department_name = Marketing
Department_code = 36

userid = finuser1/>Department_name = Finance
Department_code = 12

Thanks,

Antwort : Sql-Frage für Zählimpulsfunktion auf mehrfachen Tabellen

dieses versuchen:

vorwählen
department_name,
department_code, Tag,
Summe (succ_por_count) Portal,
Summe (succ_app1_count) App1,
Summe (succ_app2_count) App2
von (
u.department_name, u.department_code, to_char (eventdateandtime, „JJ-MillimeterdD ") Tag vorwählen,
Fall, wenn EVENTNAME = „AUTHN_SUCCESS“ und URL „%portal%“ dann 1 sonst 0 Ende succ_por_count mögen,
Fall, wenn EVENTNAME = „AUTHN_SUCCESS“ und URL „%APP1%“ dann 1 sonst 0 Ende succ_app1_count mögen,
Fall, wenn EVENTNAME = „AUTHN_SUCCESS“ und URL „%APP2%“ dann 1 sonst 0 Ende succ_app2_count mögen
von user_tbl u, audit_tbl a
wo u.userid = substr (USERPROFILEATTRS, 5)
Auftrag durch u.department_name, u.department_code, to_date (to_char (eventdateandtime, „JJ-MillimeterdD "), „JJ-MillimeterdD ")
)
Gruppe durch department_name, department_code, Tag

Weitere Lösungen  
 
programming4us programming4us