Reputation: 308
I have query like this
SELECT P9_IR259_FI, FX_IR259_SYS_PROD_TYP, FX_IR259_SLS_POS, FX_IR259_SLS_CHNL, PX_IR259_OFC_CDE, FX_IR259_SPR_OFC_CDE, FX_IR259_NAME, SUPERNAME, SUPERCDE, SUPERPOS
FROM IR259 K
LEFT OUTER JOIN
(SELECT FX_IR259_NAME AS SUPERNAME ,FX_IR259_SLS_POS AS SUPERPOS, PX_IR259_OFC_CDE AS SUPERCDE
FROM IR259 M
WHERE P9_IR259_FI = 75214 AND FX_IR259_SLS_POS = 2 AND FX_IR259_NAME LIKE 'ME%'
) ON K.FX_IR259_SPR_OFC_CDE = SUPERCDE
WHERE
FX_IR259_SLS_POS = '1'
AND FX_IR259_SLS_CHNL = 'BRO'
AND F9_IR259_CRE_TMS > 00000000000000000
ORDER BY FX_IR259_SLS_POS, FX_IR259_SPR_OFC_CDE, FX_IR259_SLS_CHNL
but result seems not correct means, i want to show SUPERNAME like 'ME%' only
the result show the SUPERNAME with like 'ME%' but other records have show too.
Thanks for Advice
Upvotes: 0
Views: 41
Reputation: 776
SELECT P9_IR259_FI, FX_IR259_SYS_PROD_TYP, FX_IR259_SLS_POS, FX_IR259_SLS_CHNL, PX_IR259_OFC_CDE, FX_IR259_SPR_OFC_CDE, FX_IR259_NAME, SUPERNAME, SUPERCDE, SUPERPOS
FROM
(select * from IR259 where SUPERNAME like 'ME%') K
LEFT OUTER JOIN
(SELECT FX_IR259_NAME AS SUPERNAME ,FX_IR259_SLS_POS AS SUPERPOS, PX_IR259_OFC_CDE AS SUPERCDE
FROM IR259 M
WHERE P9_IR259_FI = 75214 AND FX_IR259_SLS_POS = 2 AND FX_IR259_NAME LIKE 'ME%'
) ON K.FX_IR259_SPR_OFC_CDE = SUPERCDE
WHERE
FX_IR259_SLS_POS = '1'
AND FX_IR259_SLS_CHNL = 'BRO'
AND F9_IR259_CRE_TMS > 00000000000000000
ORDER BY FX_IR259_SLS_POS, FX_IR259_SPR_OFC_CDE, FX_IR259_SLS_CHNL
Upvotes: 0
Reputation: 691
You only need to add another condition in the where clause
SELECT P9_IR259_FI, FX_IR259_SYS_PROD_TYP, FX_IR259_SLS_POS, FX_IR259_SLS_CHNL, PX_IR259_OFC_CDE, FX_IR259_SPR_OFC_CDE, FX_IR259_NAME, SUPERNAME, SUPERCDE, SUPERPOS
FROM IR259 K
LEFT OUTER JOIN
(SELECT FX_IR259_NAME AS SUPERNAME ,FX_IR259_SLS_POS AS SUPERPOS, PX_IR259_OFC_CDE AS SUPERCDE
FROM IR259 M
WHERE P9_IR259_FI = 75214 AND FX_IR259_SLS_POS = 2 AND FX_IR259_NAME LIKE 'ME%'
) ON K.FX_IR259_SPR_OFC_CDE = SUPERCDE
WHERE
FX_IR259_SLS_POS = '1'
AND FX_IR259_SLS_CHNL = 'BRO'
AND F9_IR259_CRE_TMS > 00000000000000000
AND SUPERNAME LIKE 'ME%'
ORDER BY FX_IR259_SLS_POS, FX_IR259_SPR_OFC_CDE, FX_IR259_SLS_CHNL
Upvotes: 1
Reputation: 710
You need to add another filter to the where clause.
WHERE
FX_IR259_SLS_POS = '1'
AND FX_IR259_SLS_CHNL = 'BRO'
AND F9_IR259_CRE_TMS > 00000000000000000
AND SUPERNAME LIKE 'ME%'
Upvotes: 1