| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Query returns different rows with new syntax and old (+) syntax
Hi,
I need some help. A developer wrote this query based on the new 9i left
outer join
syntax, and now realizes that this is to run on an earlier version of Oracle
with the
(+) syntax. We tried rewrting the query, but it is returning a different row
set:
Any help appreciated. Please reply to steven.yee_at_team.telstra.com Thanks in advance.
Regards,
Steven
SQL Statement :
SELECT A.ACCT_NUM,
AT.OTHER_NAMES,
AT.LAST_NAME,
EM.ACCOUNT_NUM,
AT.USER_ID,
B2.PASSWORD,
B2.IS_PRIMARY,
UT1.TIER_CODE,
P.USAGEALLOWED
ACCT_NUM OTHER_NAMES LAST_NAME ACCOUNT_NUM USER_ID PASSWORD IS_PRIMARY TIER_CODE USAGEALLOWED
"1052155 " "STEVEN" "YEE"
"1052155" "backlash" "crap " "Y"
"adm " 10000
"1052155 " "STEVEN" "YEE"
"1052155" "sifu" "crap " "N"
"adm "
"1052155 " "STEVEN" "YEE"
"1052155" "mryoda" "crap " "N"
"adm "
"1052155 " "STEVEN" "YEE"
"1052155" "freefall" "crap " "N"
"adm "
The rewritten query:
SQL Statement :
SELECT A.ACCT_NUM,
AT.OTHER_NAMES,
AT.LAST_NAME,
EM.ACCOUNT_NUM,
AT.USER_ID,
B2.PASSWORD,
B2.IS_PRIMARY,
UT1.TIER_CODE,
P.USAGEALLOWED
FROM BIDUSERS B1,
ACCOUNTS A,
ACCT_TAB AT,
EMAIL_NOTIFICATION_DISABLED EM,
BIDUSERS B2,
USERTIER UT1,
USERTIER UT2,
PLAN P
AND (B2.LOGIN_ID = RPAD(AT.USER_ID, 8) AND B2.ACCT_NUM = B1.ACCT_NUM) AND (RPAD(AT.USER_ID, 8)=UT1.LOGIN_ID(+) AND UT1.TIER_CODE = 'adm') AND (RPAD(AT.USER_ID, 8)=UT2.LOGIN_ID(+) AND B2.IS_PRIMARY = 'Y')AND RTRIM(UT2.TIER_CODE) = P.TIER_CODE(+)
AND B1.LOGIN_ID = 'backlash' AND B1.IS_SUBSCRIBER = 'Y' AND B1.LOGIN_ALLOWED = 'Y'
ACCT_NUM OTHER_NAMES LAST_NAME ACCOUNT_NUM USER_ID PASSWORD IS_PRIMARY TIER_CODE USAGEALLOWEDReceived on Fri Nov 15 2002 - 04:02:13 CST
"1052155 " "STEVEN" "YEE"
"1052155" "backlash" "crap " "Y"
"adm " 10000
![]() |
![]() |