You don't have to include the name of the "delete table" in the subselect.

Wrong:

DELETE FROM SP.TST_USER_TBL WHERE EXISTS
 (SELECT SP.TST_USER_TBL.NAME <http://sp.tst_user_tbl.name/> FROM
*SP.TST_USER_TBL,
*SP.TST_OWNER_TBL WHERE  TYPE='BLAND' AND PLACE='HOME'  AND
SP.TST_OWNER_TBL.NAME
<http://sp.tst_owner_tbl.name/>=SP.TST_USER_TBL.NAME<http://sp.tst_user_tbl.name/>)


Right:

DELETE FROM SP.TST_USER_TBL WHERE EXISTS
 (SELECT SP.TST_USER_TBL.NAME <http://sp.tst_user_tbl.name/> FROM
SP.TST_OWNER_TBL <http://sp.tst_owner_tbl.name/> WHERE  TYPE='BLAND' AND
PLACE='HOME'  AND SP.TST_OWNER_TBL.NAME <http://sp.tst_owner_tbl.name/>=
SP.TST_USER_TBL.NAME <http://sp.tst_user_tbl.name/>)

Or:

DELETE FROM SP.TST_USER_TBL <http://sp.tst_user_tbl.name/> WHERE PLACE =
'HOME' AND NAME IN (SELECT NAME FROM
SP.TST_OWNER_TBL<http://sp.tst_owner_tbl.name/>WHERE TYPE = 'BLAND');


Carla O.

2010/11/30 Jeff Bland <bl...@us.ibm.com>

>
> I want to delete certain rows from table USER_TBL.
> Two tables are involved.  USER_TBL and OWNER_TBL.
>
> The entries that match BLAND type in OWNER table and who also have a
> matching entry in USER table NAME  but only for USER_TBL entries with places
> equal to HOME.
>
> DELETE FROM SP.TST_USER_TBL WHERE EXISTS
>  (SELECT SP.TST_USER_TBL.NAME FROM SP.TST_USER_TBL, SP.TST_OWNER_TBL WHERE
>  TYPE='BLAND' AND PLACE='HOME'  AND SP.TST_OWNER_TBL.NAME=
> SP.TST_USER_TBL.NAME)
>
>
> Example :
>
>         *OWNER_TBL*                                *USER_TBL*
>
>   * NAME          TYPE                        PLACE                NAME*
> BLAND                BLAND                        WORK                BLAND
> LARRY                BLAND                        HOME                BLAND
> MOE                BLAND                        HOME                LARRY
> CURLY                BLAND                        WORK                LARRY
> JOE                BLAND                        HOME                MOE
>
>
> In the end I expect the USER_TBL to  *not *contain the 3  HOME  entries.
>
> But what is happening is the whole USER_TBL is empty after the query.
>
> Any ideas or tips..   Thanks.

Reply via email to