مشکلات رایج در پرس و جوی اطلاعات Query
اگر با مشکلات زیر روبرو شده اید ، میتوانید از آموزش و توضیحات این صفحه استفاده کنید
- دستور را تایپ کرده اید ولی اجرا نمی شوند
- در استفاده از دستورات AND , OR دچار اشتباه می شوید
- انتخاب سلولهای خالی NULL کامل انجام نمیشود
- بازه ها از نظر ریاضی درست هستند ولی نتیجه درست نیست
- نیاز به تکرار یک فرمول در مراحل مختلف کار دارید
ابتدا لازم است با کلید ها و امکانات Query Builder بیشتر آشنا شویم
- قسمت بالای پنجره ، نمایش دهنده تمامی فیلدهایی است که امکان فیلتر کردن را در آنها داریم . برای انتخاب فیلد مورد نظر لازم است روی آن دوبار کلیک کنیم و نام فیلد مورد نظر در قسمت خالی پایین پنجره ظاهر می شود (قسمت 4)
* از وارد کردن دستی نام فیلد ها خودداری نمایید - در این قسمت شما امکان این را دارید که از کلید های از پیش تعریف شده برای محاسبات و فیلتر کردن فیلد های مورد نظر استفاده کنید . که مختصرا به آن می پردازیم
برای درک بهتر با یک مثال چیش می رویم :
فرضاً جدول ویژگی های یک لایه داری فیلد های مختلفی از جمله مساحت ملک : Area ، فاصله تا خیابان اصلی : Road_Dis ، سند ملکی : Doc_pro ، تعداد طبقات Floor و ... می باشد .
حالا با استفاده از علائم زیر بازه های درخواستی را استخراج می کنیم :
( = ) : به معنی مساوی
مثال : انتخاب زمین های دارای سند ملکی یک طبقه
Doc_pro = "ok" AND Floor = 1
* همه مقادیر غیر عددی می بایست در داخل " " قرار بگیرند
( > ) : به معنی کوچکتر از...
( < ) : به معنی بزرگتر از...
مثال : انتخاب زمین های دارای سند ملکی کمتر از پنج طبقه و مساحت بالای 1000 متر
Doc_pro = "ok" AND Floor < 5 AND area> 1000
( =< ) : به معنی بزرگتر مساوی از...
( => ) : به معنی کوچکتر مساوی از ...
( <> ) : به معنی نا مساوی
مثال : انتخاب زمین های دارای سند ملکی پنج طبقه یا کمتر و مساحت 1000 متر به بالا و بر خیابان اصلی نباشد
Doc_pro = "ok" AND Floor <= 5 AND area>= 1000 AND Road_Dis <> 0
( Not ) : به معنی منفی کننده و مخالف
مثال : انتخاب زمینهایی به غیر از آنهایی دارای سند ملکی پنج طبقه یا کمتر و مساحت 1000 متر به بالا
( Not ( Doc_pro = "ok" AND Floor <= 5 AND area>= 1000
() برای اعمال یک دستور روی کل بازه چند متغیری تعریف شده
( Null ) : به معنی سلول بدون داده بوده و میتوان بعد از Is یا Not استفاده کرد
مثال : انتخاب زمین های دارای سند ملکی
"Doc_pro Is Not "Null
* قبل از Null به جای = بایستی از Is استفاده کرد
( Is ) به معنی بودن
مثال : رجوع شود به مثال Null
( And ) : به معنی به اضافه (و)
* زمانی استفاده می شود که منظور ما دارا بودن دو متغییر(a) و (b) همزمان در یک فیلد باشد
مثال : انتخاب زمین های دارای سند ملکی کمتر از پنج طبقه و دارای مساحت بالای 1000 متر
Doc_pro = "ok" AND Floor < 5 AND area> 1000
( OR ) : به معنی (یا)
* زمانی استفاده می شود که منظور ما دارا بودن متغییر(a) یا متغیر (b) در یک فیلد باشد
مثال : انتخاب زمین های دارای سند ملکی کمتر از پنج طبقه یا دارای مساحت بالای 1000 متر
Doc_pro = "ok" AND Floor < 5 OR area> 1000
* And , OR هر دو بعد از تعریف یک بازه و برای ادامه دادن دستور بعدی استفاده می شوند
( _ )
( % )
( In )
( Like ) - در نهایت کلیدی به نام Get Unique Values وجود دارد که در صورت نیاز به انتخاب متغیری از فیلد خاص ابتدا فیلد مربوطه را با یک کلیک روی آن انتخاب کرده و سپس با این کلید تمام داده های داخل فیلد برای شما نمایش داده می شود و به راحتی میتوانید با دوبار کلیک ، آنرا به فرمول خود اضافه کنید * پیشنهاد می شود به جز موارد عددی از تایپ کردن متغیر ها در داخل قسمت دستور خودداری کنید .
- این قسمت نیز همان طور که در مراحل قبل ذکر کردیم مربوط به نمایش دستورات نهایی شما برای اجرا میباشد که میتوانیم موارد مد نظر را چک کنیم و در صورت اطمینان از صحت آنها دستورات را اجرا کنیم .
* تایپ دستی در این جدول توصیه نمیشود ولی در صورت نیاز لازم است برای متغیر های با فرمت TEXT از علامت "text" در اطراف عبارت استفاده شود
* گاها در جداولی که روی آنها کاری انجام شده و یا از بیرون وارد محیط GIS شده اند ممکن است سلولهای خالی Null بر خلاف تصور ما به صورت Text باشند و لذا اگر از دستورات مربوط به Null استفاده می کنید ولی نتیجه درست نیست از "Null" استفاده کنید - در انتهای کار اگر عملیات انجام شده ممکن است مجددا به کارتان بیاید آن را از طریق کلید پایین پنجره Save و در دفعات بعدی نیر به راحتی Load کنید .
- پنجره Query Builder شباهت زیادی به پنجره Select By Attribute دارد و دستورات و فرمول های قابل کپی کردن در یکدیگر هستند با این تفاوت که در Query بازه های انتخاب شده معمولا مطلوب نبوده و از حالت نمایش خارج می شوند ولی در Selection معمولا داده های مطلوب حهت تمرکز بیشتر و انجام عمیلات مختلف روی آنها انتخاب می شوند .