On Thu, Sep 14, 2006 at 03:07:35PM +0900, Javanesevn wrote: > Dear all, > > I execute this query on below: > > delete from PRODUCT > where exists ( > select > product_id, item_id > from PRODUCT > where > research_date < '2006-01-01' > ) > this query deleted all records data in PRODUCT table. The subquery > return only some records. > Tell me about other idea? and What's wrong from this query.
The easiest way is to do it like this: delete from PRODUCT where research_date < '2006-01-01' But if you really want to use a subquery, you want to relate it to the current record: delete from PRODUCT where product_in in ( select product_id from PRODUCT where research_date < '2006-01-01' ) In your example you just test if some records exist. They allways do, so the where clause evaluates to true for every row -- __________________________________________________ "Nothing is as subjective as reality" Reinoud van Leeuwen [EMAIL PROTECTED] http://www.xs4all.nl/~reinoud __________________________________________________ ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org