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
Wanting to print addresses on envelopes in open office writer
Group and ungroup a password-protected sheet?
DatetimePicker in datagridview MSDN example problem
Calculate current percentage of month that has elapsed
Windows 7 Enterprise vs Ultimate?
SPRY DataSet - not updating on screen after successful update to database
Exchange 2010 Corrupted Receive Connectors in an inconsistenent state
Copy & Replace Outlook Folder Items over another
can't change password through OWA 2010
Saving PDF report Oracle Report Builder on Client using WebUtility