PDA

View Full Version : حذف نشدن رکوردهای تکراری!!!!!



bad_lucky
شنبه 19 بهمن 1392, 17:57 عصر
با سلام خدمت دوستان عزیز :
من این تکه کد رو از سایت گرفتم واسه حذف رکوردهای تکراری از بانک و تغییرش دادم به اون چیزی که خودم مد نظرم بود اما بعد از اجرا تو یه لوپ بی نهایت میفته و نه تموم میشه و نه رکوردی رو پاک میکنه!!!



declare @Serial nvarchar
declare @systemCode nvarchar
while(exists(select Serial,RepairDesAll from ServiceCustomer1
group by CNo,serial,repairdesall
Having COUNT (serial) > 4 ))
begin

set @Serial = (select top(1) Serial from ServiceCustomer1 group by CNo,Serial,RepairDesAll
Having COUNT (Serial) > 4)
set @systemCode = (select top(1) systemCode from ServiceCustomer1 Where Serial =@Serial)
delete from ServiceCustomer1 where systemCode = @systemCode
End


لازم به ذکره که هر کدوک از سلکت ها به تنهایی جواب داره

micro24
یک شنبه 27 بهمن 1392, 16:13 عصر
سلام

همه ردیف هاشو می خواهید پاک کنید:
WITH CTE AS(
SELECT [col1], [col2], [col3], [col4], [col5], [col6], [col7],
RN = ROW_NUMBER()OVER(PARTITION BY col1 ORDER BY col1)
FROM dbo.Table1
)
DELETE FROM CTE WHERE RN > 1


http://stackoverflow.com/questions/18390574/how-to-delete-duplicate-rows-in-sql-server