PDA

View Full Version : حذف سطر های تکراری



yaldabarani
سه شنبه 27 دی 1390, 09:11 صبح
سلام چطور میتوان سطرهای تکراری رو از یک جدول حذف نمود (بدون در نظر گرفتن کلید) مثلا
جدولی دارای فیلدهای کد نام نام خانوادگی است و به این شکل پر شده
1 نیما نیمایی
2 نیما نیمایی
3 نیما نیمایی
4 یلدا یلدایی
5 یلدا یلدایی
.
.
بعد از حذف داشته باشیم
1نیما نیمایی
4 یلدا یلدایی

ad.davachi
سه شنبه 27 دی 1390, 10:12 صبح
این کوری دقیقا این کارو می کنه برای من فیلد کدملی یکتا بود از اون استفاده کردم خودت می تونی تغییرش بدی
declare @NationalCode bigint
declare @ID bigint
while(exists(select NationalCode from Person_Tbl
group by NationalCode
Having COUNT (NationalCode) > 1))
begin
set @NationalCode = (select top(1) NationalCode from Person_Tbl group by NationalCode
Having COUNT (NationalCode) > 1)
set @ID = (select top(1) ID from Person_Tbl Where NationalCode = @NationalCode)
delete from Person_Tbl where ID = @ID
End

behrouzlo
سه شنبه 27 دی 1390, 15:29 عصر
البته می شه به صورت زیر هم عمل کرد:

WITH List AS (
SELECT ROW_NUMBER() OVER(PARTITION BY NAME ORDER BY Code) ROW FROM TblName
)
DELETE FROM List WHERE Row > 1