PDA

View Full Version : جستجو با شرط LIKE



raravaice
پنج شنبه 15 فروردین 1387, 19:13 عصر
سلام

صورت مسئله :

با فرض داشتن 2 ستون
ستون 1 : هر چیزی
ستون 2 : فیلدی از نوع ntext که حاوی کلمات کلیدی میباشد.

در کوری ارسال کلمات مشخصی با like ارسال میشود
نمونه



Select any,keyword From Td1 where keyword like '%Book%' or keyword like'%Study%'


با این روش ستونهای مشخصی از بانک به دست میآید که ستون Keyword آنها شامل حداقل یک مورد از کلمات منظور شده میباشد.

هدف :
چطور میشه فهمید که کدام ستون توسط کدام کلمه پیدا شده ؟
مثلا بشه یه ستون تعریف کرد که کلمه یا کلماتی که رکورد مورد نظر با اون پیدا شده توی اون جای داد.



ممنون

SYNDROME
پنج شنبه 15 فروردین 1387, 20:49 عصر
خوب می توانید جداگانه بنویسید و با دستور union پشت سر هم نشان دهید.


Select any,keyword,1 As State From Td1 where keyword like '%Book%'
Union
Select any,keyword,2 From Td1 where keyword like'%Study%'

حالا با فیلد Stateمی تو انید مشخص کنید نتیجه کدام جستجو کدام رکورد است
موفق باشید

raravaice
شنبه 17 فروردین 1387, 10:48 صبح
1.دستوری که فرمودید روی فیلدهایی از نوع ntext و text عمل نمیکنه.

2.کلمات مورد جستجو از قبل تعریف شده نیستند که بشه با شماره گزاری تشخیص داده بشه. چطور میشه که کلمه مورد جستجو در like رو توی ستون داشت؟

3.امکان داره 1 رکورد با 2 یا چند کلمه کلیدی پیدا بشه هدف اینه که من این کلمه یا کلمات رو با هم در یک ستون داشته باشم

البته مورد سوم رو میشه توی .net حل کرد ولی میخوام این وظیفه رو به عهده sql server بزارم در صورت امکان.

باتشکر.