PDA

View Full Version : QUERY



شفیعی
شنبه 03 دی 1384, 23:09 عصر
سلام
دوتا فایل BD داریم که در یکی مشخصات فردی افراد نگه داری می شود ودر دیگری اطلاعات مربوط زمینهای که گرفته اند ذخیره می شود هر نفر می تواند در چند منطقه زمین داشته باشد این دوبانک هرکدام داری یک فیلد سریال می باشند که این فیلد کلید اصلی در دو فایل می باشد و این دو فایل توسط این کلید به هم وصل می شوند
فیلد سریال نام افراد
20 موسوی
120 محمدی
فیلد سریال محل های که زمین گرفته اند
20 زمین اصفهان
20 زمین تهران
120 زمین شیراز
120 زمین تهران
120 زمین کرج
می خواهیم QUERY بنویسیم به شکلی که از فایل اول لیست افراد را نمایش به شرطی که مثلا در تهران زمین نگرفته باشند

mzjahromi
یک شنبه 04 دی 1384, 08:20 صبح
یه چیزی شبیه به این


Select * From Persons
Where Not Id in(select distinct Id from City where cityName='تهران')

m-khorsandi
یک شنبه 04 دی 1384, 13:58 عصر
Select Persons.*
From Persons Inner Join City On Persons.Serial = City.Serial
Where CityName <> 'تهران'

mzjahromi
دوشنبه 05 دی 1384, 08:36 صبح
Select Persons.*
From Persons Inner Join City On Persons.Serial = City.Serial
Where CityName <> 'تهران'

با سلام و احترام
این Query تو یه حالت خاص جواب نمی ده و اونم این حالت که یک شخص هیچ زمینی رو از هیچ جا نداشته باشه.

m-khorsandi
دوشنبه 05 دی 1384, 09:51 صبح
دقیقا"
Inner Join : فقط رکوردهایی که با شرط موجود مطابق باشند نمایش داده میشوند.

mzjahromi
دوشنبه 05 دی 1384, 09:54 صبح
درسته ولی طبق خواسته دوستمون ممکنه یک نفر در هیچ شهری زمین نداشته باشه پس در تهران هم نداره

شفیعی
جمعه 07 بهمن 1384, 23:42 عصر
سلام
دوستان عزیز از جوابتان خیلی ممنون
فقط پس گذشت چند روز با زیاد شدن اطلاعات حدود 1000 رکورد . برنامه وقتی می خواهد این QUERY را انجام دهد قفل می کند و مدت زیادی طول می کشد که این کار انجام شود برای رفع مشکل باید چکار کرد

mzjahromi
شنبه 08 بهمن 1384, 08:29 صبح
میشه Query که استفاده کردی رو اینجا بنویسی؟
بانکت پارادوکس هست؟