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
رکورد مشابه جدول اول در جدول دوم وجود دارد.
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.