PDA

View Full Version : یک دستور select



mc_laren
سه شنبه 21 خرداد 1387, 06:15 صبح
به نام خدا
با سلام
لطفا یک دستور select بنویسید که بتواند رکوردهای غیر تکراری در دو جدول را پیدا کند
و یک دستور دیگر برای پیدا کردن رکوردهای تکراری.
با تشکر

night_walker
سه شنبه 21 خرداد 1387, 09:34 صبح
با سلام
این جوری که من فهمیدم 2 تا جدول داری که دارای یک ساختار هستند و می خوای رکورد هایی که تو یکی هست و تو دیگری نیست رو پیدا کنی.
SELECT * FROM FirstTable Where
Key not in (SELECT key From SecondTable)
Key کلید اصلی یا یک کلید است که در دو جدول یکسان است.

Kamyar.Kimiyabeigi
سه شنبه 21 خرداد 1387, 09:43 صبح
SELECT F.Key AS FKey, S.Key AS SKey
FROM FirstTable F
Left Outer Join SecondTable S ON F.Key = S.Key

اونهايي كه skey مقدارش Null هست وجود ندارد و اونهايي كه مقدار دارن تكرارين

mc_laren
جمعه 24 خرداد 1387, 06:01 صبح
ضمن تشکر از پاسخ دوستان
ببینید جدول من شامل حداقل 4 فیلد می باشد و هیچ فیلد کلیدی هم ندارد
مثلا من می خواهم از دو جدول رکوردهایی را برگرداند که مانند آن رکورد در آن جدول نباشد
که یا 4 فیلد آن یکی نباشد یا یکی از این 4 فیلد.

SYNDROME
جمعه 24 خرداد 1387, 06:46 صبح
ضمن تشکر از پاسخ دوستان
ببینید جدول من شامل حداقل 4 فیلد می باشد و هیچ فیلد کلیدی هم ندارد
مثلا من می خواهم از دو جدول رکوردهایی را برگرداند که مانند آن رکورد در آن جدول نباشد
که یا 4 فیلد آن یکی نباشد یا یکی از این 4 فیلد.


Select T1.*
From Tbl_Test1 T1
Left Outer Join Tbl_Test2 T2
ON T1.Field1 = T2.Field1 And T1.Field2 = T2.Field2 And T1.Field3 = T2.Field3 And T1.Field4 = T2.Field4

حالا اگر در ادامه دستورات بالا شرط را به این شکل بنویسی.


Where T2.Field1 IS Null

رکورد مشابه جدول 1 د ر جدول 2 نیست و اگر بنویسی


Where T2.Field1 IS Not Null

رکورد مشابه جدول اول در جدول دوم وجود دارد.
موفق باشید