خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
نمایش خروجی تابع Distinct به همراه تابع EXCEPT در SQL Server
پیشتر در خصوص تابع UNION بصورت جداگانه در مقالاتی صحبت کردیم. در این مطلب همچنان از این تابع قصد داریم استفاده کنیم ولی این بار از تابع دیگری با نام EXCEPT به همراه UNION استفاده می کنمی که در Result set مربوط به UNION تاثیر خواهد گذاشت.
برای شروع، یک جدول ایجاد می کنمی و مقادیری را در آن Insert می کنمی که برخی مقادیر تکراری هستند.
حالا با اجرای کوئری زیر، رکوردهای جدول را Select می کنیم که خروجی شامل 7 رکورد است.
حالا برای حذف رکوردهای تکراری، از همان جدول استفاده می کنیم و از تابع EXCEPT همراه با یک Result set خالی استفاده کنید که توسط همان جدول به شکل زیر بازگردانده شده است.
قسمت دوم از کوئری EXCEPT از شرط ساختگی WHERE 1 = 0 برای بازگشت Result set خالی استفاده می کند. این Result set خالی با قسمت اول ezcept ترکیب می شود و تایع EXCEPT به سادگی با حذف رکوردهای result set دوم (که در این حالت خالی است) Result یا خروجی distinct را بر می گرداند.
اگر ترفندهای دیگری برای حذف مقادیر تکراری می شناسید بسیار خوشحال خواهیم شد که آن را با ما و سایر دوستانتان در وب سایت در قسمت ثبت نظرات و دیدگاه ها به اشتراک قرار دهید.
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته بصورت کاملا کاربردی
دوره آموزش برنامه نویسی بانکهای اطلاعاتی VB.NET + SQL Server
برای شروع، یک جدول ایجاد می کنمی و مقادیری را در آن Insert می کنمی که برخی مقادیر تکراری هستند.
USE TEMPDB GO
CREATE TABLE DuplicateRcordTable (Col1 INT, Col2 INT)
INSERT INTO DuplicateRcordTable
SELECT 1, 1
UNION ALL
SELECT 1, 1 --duplicate
UNION ALL
SELECT 1, 1 --duplicate
UNION ALL
SELECT 1, 2
UNION ALL
SELECT 1, 2 --duplicate
UNION ALL
SELECT 1, 3
UNION ALL
SELECT 1, 4
GO
حالا با اجرای کوئری زیر، رکوردهای جدول را Select می کنیم که خروجی شامل 7 رکورد است.
SELECT col1,col2
FROM DuplicateRcordTable
حالا برای حذف رکوردهای تکراری، از همان جدول استفاده می کنیم و از تابع EXCEPT همراه با یک Result set خالی استفاده کنید که توسط همان جدول به شکل زیر بازگردانده شده است.
SELECT col1,col2
FROM DuplicateRcordTable
EXCEPT
SELECT col1,col2
FROM DuplicateRcordTable WHERE 1=0
قسمت دوم از کوئری EXCEPT از شرط ساختگی WHERE 1 = 0 برای بازگشت Result set خالی استفاده می کند. این Result set خالی با قسمت اول ezcept ترکیب می شود و تایع EXCEPT به سادگی با حذف رکوردهای result set دوم (که در این حالت خالی است) Result یا خروجی distinct را بر می گرداند.
اگر ترفندهای دیگری برای حذف مقادیر تکراری می شناسید بسیار خوشحال خواهیم شد که آن را با ما و سایر دوستانتان در وب سایت در قسمت ثبت نظرات و دیدگاه ها به اشتراک قرار دهید.
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته بصورت کاملا کاربردی
دوره آموزش برنامه نویسی بانکهای اطلاعاتی VB.NET + SQL Server
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: