PDA

View Full Version : سوال: آیا ادغام دو عملگر like و in امکان پذره



Sal_64
چهارشنبه 16 بهمن 1387, 23:52 عصر
سلام

آیا ادغام دو عملگر like و in امکان پذره

من 2 تا تیبل دارم



تیبل اول tabel1 که تنها یک فیلد داره(code) که د اخل اون اعداد 5 رقمی ذخیره شده

تیبل دیگه ایtabel2 که دارای چند فیلد یکیش code2 هست که اعداد 6 یا 7 رقمی در اون وجود داره



در دستور select می خوام بگم

که فیلدهایی از تیبل دوم که اعدا موجود در فیلد code2 ،چند رقم اون شبیه به اعداد موجود در تیبل یک است رو بر گردون

تذکر : اعداد حاوی کاراکتر هستند و به صورت کاراکتری ذخیره شدن

چیزی شبیه به این



select * from tabel2 where code2 like ( in (select code+'%' from tabel1))
با تشکر

mannai29
پنج شنبه 17 بهمن 1387, 08:20 صبح
راه های زیادی هست.توی جدول دوم شما داده های 6 7 رقمی داری که می خواین اونایی که 5 رقم اولشون توی جدول اول هم هست رو انتخاب کنید : مفهوم حرف و select شما این رو نشون میده.
پس :

select * from tabel2 where left(code2,5) in (select code from tabel1)اگر چه جوین هم میتونین بزنین با گذاشتن شرط like.
ادغام دو عملگر like و in هم درست نیست.

Sal_64
پنج شنبه 17 بهمن 1387, 12:50 عصر
سلام تشکر مسئله حل شد اما احتمال ضعیف وجود داره که در آینده مقدار کدها در جدول اول علاوه بر 5 رقم 6 رقم هم بشن آیا برای این هم راه حلی وجود داره؟ یعنی با تکرار شرط شما با مقدار 6 و قرار دادن or بین اونها مسئله به شکل صحیح حل میشه؟ با تشکر

reza-abi
دوشنبه 09 آذر 1388, 17:56 عصر
[]سلام تشکر مسئله حل شد اما احتمال ضعیف وجود داره که در آینده مقدار کدها در جدول اول علاوه بر 5 رقم 6 رقم هم بشن آیا برای این هم راه حلی وجود داره؟ یعنی با تکرار شرط شما با مقدار 6 و قرار دادن or بین اونها مسئله به شکل صحیح حل میشه؟ با تشکر[/quote]