برگزیده های پرشین تولز

مشكل در Select تودر تو

HADI_EN

Registered User
تاریخ عضویت
20 مارس 2006
نوشته‌ها
242
لایک‌ها
2
سلام يه سوال دارم من مي خوام چند تا ركورد بوسيله select تو در تو استخراج كنم فرض كنيد پرس و جو به اين شكل است :

کد:
select name from users where ref=(select ref from info )

اين كد يه مشكلش اينه كه اگه select دومي بيش تر از يه نتيجه برگردونه مي گيه چون بيشتر از يه نتيجه برگشته نمي تونم پرس و جو رو انجام بدم مي خواستم بدونم راهي است كه بشه اين پرس و جو رو انجام داد بوسيله همين select تو در تو
 

alireza sh

مدیر بازنشسته
تاریخ عضویت
2 ژانویه 2006
نوشته‌ها
2,775
لایک‌ها
70
سن
40
محل سکونت
نصف جهان
به جای مساوی از عبارت IN استفاده کنید
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
فکر کنم اینجور مواقع Join کردن بهتر جواب بده.
 

alireza sh

مدیر بازنشسته
تاریخ عضویت
2 ژانویه 2006
نوشته‌ها
2,775
لایک‌ها
70
سن
40
محل سکونت
نصف جهان
اصئلا استفاده از join توصیه نمیشود . تاثیرات نامطلوب استفاده نادرست از آن بر بازدهی وحشتناک است!
 

oranoos_mta

Registered User
تاریخ عضویت
22 آپریل 2007
نوشته‌ها
1,144
لایک‌ها
33
select name from users where ref in (select ref from info )
or
اگه خواستی یه رکورد برگردونی :
select name from users where ref=(select ref from info where rownum<2 )
 

SearchDomain

Registered User
تاریخ عضویت
2 جولای 2013
نوشته‌ها
624
لایک‌ها
78
اصئلا استفاده از join توصیه نمیشود . تاثیرات نامطلوب استفاده نادرست از آن بر بازدهی وحشتناک است!

جمله شما کاملا نادرست است!

بسته به حجم و تعداد رکوردها متغیر هست و به صورت قطعی نمی توان نظر داد.

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

موید باشید
 

kitoo

کاربر تازه وارد
تاریخ عضویت
5 فوریه 2013
نوشته‌ها
7
لایک‌ها
0
سلام خدمت دوستان
جدولی در اکسس دارم که به این صورته

Kala
Date
A
1392/10/05
A
1392/10/04
A
1392/10/03
B
1392/10/05
C
1392/10/03
هر روز به این جدول فیلد هایی اضافه می شود.
حالا می خواهیم اطلاعات جدول فقط مربوط به سه روز گذشته باشد وقبلی ها حذف شود؟
با ویژال بیسیک دات نت برنامه نویسی میکنم و هر کدی امتحان کردم جواب نداده لطفا راهنماییم کنید! متشکرم
smilingsmiley.gif
 

parial1

Registered User
تاریخ عضویت
8 می 2008
نوشته‌ها
108
لایک‌ها
37
محل سکونت
تهران
سعی کن توی فیلد Date اطلاعات رو به صورت میلادی ذخیره کنید یا حداقل داخل یه فیلد دیگه ذخیره کن
بعد براساس اون فیلد و با استفاده از فانکشن DateDiff خود سیکوئل اطلاعات قبل از سه روز رو پیدا کن و حذف کن
 

parial1

Registered User
تاریخ عضویت
8 می 2008
نوشته‌ها
108
لایک‌ها
37
محل سکونت
تهران
سعی کن توی فیلد Date اطلاعات رو به صورت میلادی ذخیره کنید یا حداقل داخل یه فیلد دیگه ذخیره کن
بعد براساس اون فیلد و با استفاده از فانکشن DateDiff خود سیکوئل اطلاعات قبل از سه روز رو پیدا کن و حذف کن
 

POXER

Registered User
تاریخ عضویت
20 جولای 2011
نوشته‌ها
61
لایک‌ها
3
به جای = از in استفاده کند
Select .. from ... where column in (select column from ....)
 
بالا