| issue in union condition [message #564372] |
Thu, 23 August 2012 03:52  |
 |
db_learner
Messages: 3 Registered: September 2011
|
Junior Member |
|
|
Hi,
I am facing an issue in union clause
Below is my query
Issue faced is that based on union I want to limit the result and does not want second query to give duplicate result as both queries deal with same table
please suggest
SELECT TAB1.ID, TAB1.CRNCY_CODE, TAB2.SCHEME_CODE, DECODE( 'INFENG',CAST( '' AS VARCHAR(20)),
NVL(TAB2.ALT1_SCHEME_DESC,TAB2.SCHEME_DESC),TAB2.SCHEME_DESC),
TAB1.SUB_HEAD_CODE, DECODE( 'INFENG' ,CAST( '' AS VARCHAR(20)),NVL(TAB1.ALT1_SUB_HEAD_DESC ,
TAB1.SUB_HEAD_DESC),TAB1.SUB_HEAD_DESC)
FROM TAB1, TAB4, TAB2, TAB3
WHERE TAB2.SCHEME_TYPE = 'SCHEME1' AND TAB1.BANK_ID= '01' AND TAB4.BANK_ID= '01'
AND TAB2.BANK_ID= '01' AND TAB3.BANK_ID= '01' AND TAB3.DEL_FLG != 'Y' AND TAB4.DEL_FLG != 'Y'
AND TAB1.DEL_FLG != 'Y' AND TAB2.DEL_FLG != 'Y'
AND TAB3.SUB_HEAD_CODE = TAB1.SUB_HEAD_CODE
AND TAB3.SCHEME_CODE = TAB4.SCHEME_CODE
AND TAB2.SCHEME_CODE = TAB3.SCHEME_CODE
AND TAB1.CRNCY_CODE = TAB4.CRNCY_CODE
AND TAB1.ID = '105' AND TAB4.CRNCY_CODE = 'INR'
union
select null ID,null crncy_code,TAB2.SCHEME_CODE ,
NVL(TAB2.ALT1_SCHEME_DESC,TAB2.SCHEME_DESC),TAB2.SCHEME_DESC,null SUB_HEAD_CODE from TAB2 where TAB2.SCHEME_TYPE ='SCHEME1';
[\CODE]
|
|
|
|
|
|
|
|
|
|
| Re: issue in union condition [message #564396 is a reply to message #564372] |
Thu, 23 August 2012 06:15  |
flyboy
Messages: 1673 Registered: November 2006
|
Senior Member |
|
|
It sounds that you want to outer join some table(s) instead of inner joining them.
It is a good motive for reformatting that code (re-group join/filter conditions based on tables involved) - then this task may be done more comfortably.
Converting the code to ANSI join syntax could improve its readability too.
Good luck.
|
|
|
|