Monday, March 26, 2012

optimized query

how can I reform this query using joins
SELECT DISTINCT ID
FROM DUMASTER
, USERGROUPMEMBER
WHERE DU_ACTIVEYN = 'Y'
AND (
( @.V_MY_GROUP_ID = @.V_DU_ID AND DU_ID = UGM_DETAIL_ID AND UGM_AU_ID =
@.P_USER )
OR
@.V_MY_GROUP_ID <> @.V_DU_ID AND @.V_MY_GROUP_ID <> 0)
ORDER BY DU_NO
So that it executes faster.Vikram
SELECT DISTINCT ID
FROM DUMASTER INNER JOIN USERGROUPMEMBER ON
DU_ID = UGM_DETAIL_ID AND UGM_AU_ID = @.P_USER AND
WHERE DU_ACTIVEYN = 'Y' AND @.V_MY_GROUP_ID = @.V_DU_ID
Actually, it might much easier if you provide full DDL+sample data that we
can test it. How about indexes?
"Vikram" <aa@.aa> wrote in message
news:uWuN6AAeGHA.1276@.TK2MSFTNGP03.phx.gbl...
> how can I reform this query using joins
> SELECT DISTINCT ID
> FROM DUMASTER
> , USERGROUPMEMBER
> WHERE DU_ACTIVEYN = 'Y'
> AND (
> ( @.V_MY_GROUP_ID = @.V_DU_ID AND DU_ID = UGM_DETAIL_ID AND UGM_AU_ID =
> @.P_USER )
> OR
> @.V_MY_GROUP_ID <> @.V_DU_ID AND @.V_MY_GROUP_ID <> 0)
> ORDER BY DU_NO
> So that it executes faster.
>
>|||Hi vikram,
The query seems to be wrong. The join condition is not proper. give alias
names for columns. and let us know what are the join conditions.
and what are you trying to achieve.sql

No comments:

Post a Comment