SELECT NOTIFICATIONID, a.STATUS, NOTIFICATIONREFNO,
(SELECT COUNT (*) FROM COMPANY com WHERE a.forcompanyid=com.parentcompanyid)AS PARENTINDICATOR,
c.companyname as companyname, TRANSACTIONID, REFAMOUNT, REFCURRENCY, NOTIFICATIONDATE, FORUSERID, FORGROUPID, FORCOMPANYID,
NOTIFICATIONHEADER, NOTIFICATIONMESSAGE, BANKACD, FORCOMPANYID, NOTIFICATIONHEADER, NOTIFICATIONMESSAGE, BANKACCOUNTID,
b.NOTIFICATIONTYPEID, NOTIFICATIONTYPE, DESCRIPTION, REPLYREQ, TRXTYPE,
CATEGORY, DECODE(CATEGORY, ‘System’, ‘1’, CATEGORY) CATORDER
FROM NOTIFICATION a, NOTIFICATIONTYPE b, COMPANY c
WHERE (FORMATCODE NOT LIKE ‘Z%’ OR FORMATCODE IS NULL)
AND ( ( BANKACCOUNTID IS NULL) OR (BANKACCOUNTID IN ( NULL, 90040617028918, 90040617028920) ) )
AND a.DELETED is null AND
UPPER(FORCOMPANYID) = c.COMPANYID
AND c.PARENTCOMPANYID = 20040616015753
AND a.NOTIFICATIONTYPEID = b.NOTIFICATIONTYPEID
ORDER BY PARENTINDICATOR DESC,
COMPANYNAME ASC,
CATORDER ASC,
NOTIFICATIONDATE DESC;
Can this statements be further optimized??