Microsoft
Software
Hardware
Network
Question : Need to turn a SQL select into a delete statement
I have the following SQL statement that I need to turn into a delete
SELECT update_id,DTTM_IMPORTED FROM PS_MAINTENANCE_LOG
GROUP BY update_id,DTTM_IMPORTED
HAVING Count(*) > 1
--- This was submitted but it did not leave one of the duplicate rows, it deleted all rows where the count(*) was greater than one.
delete from ps_maintenance_log
where (update_id,DTTM_IMPORTED) in
(
SELECT update_id,DTTM_IMPORTED FROM PS_MAINTENANCE_LOG
GROUP BY update_id,DTTM_IMPORTED
HAVING Count(*) > 1
)
Thanks in advance.
Answer : Need to turn a SQL select into a delete statement
can you try the below :
delete from ps_maintenance_log x
where exists ( select 1 from ps_maintenance_log y
where x.update_id = y.update_id
and x.DTTM_IMPORTED = y.DTTM_IMPORTED
and x.rowid < y.rowid );
Thanks
Random Solutions
Is exercising in an air conditionedroom a good idea?
Schedule Task "Could not start"
changing external server name.. do I need to change anything in Outlook
Calling IE to run on second monitor in batch file log in script
How to find and replace specific string with blank using sed or any better cmd?
Help with Lucene query in Alfresco
How to access class due to 'cannot instantiate abstract class' error
Exchange 2003 on SBS 2003 Active Sync and Blackberry/iPhone Configuration Help Needed
loop an array in an array and insert into db
FTP - without log in