View Full Version : از شماره x تا شماره y در یک دیتا بیس
red11011
یک شنبه 30 فروردین 1388, 13:28 عصر
یک تیبل دارم که دارای دو فیلد هست فیلد 1 شامل نام افراد و فیلد 2 شامل شماره تلفن انها میباشد یک دستور sql یا غیر sql میخواهم که بگه از شماره مثلا 1 تا 20 مال علی از شماره 21 تا 30مال حسن و از شماره 31 تا 50 دو باره مال علی
البته نمیخواهم شماره های اونها رو نشون بده فقط شماره ابتدا و انتهای اونها رو نشون بده
ممنون
HjSoft
یک شنبه 30 فروردین 1388, 14:15 عصر
خوب مگه نمیتونین یک فیلد اصافه کنین و اون ها رو نام گذاری کنید ؟
vbhamed
یک شنبه 30 فروردین 1388, 19:46 عصر
سلام
فرض كنيم يك جدول داريم با فيلد r يعني شماره سطر و فيلد n به معني نام
دستور زير رو بنويسيد
SELECT n,Min(r) AS Start, Max(r) AS End FROM Table1 GROUP BY n
البته توجه كنيد كه بايد ركوردهاي هر شخص به ترتيب، پشت سر هم ثبت شده باشند
red11011
دوشنبه 31 فروردین 1388, 08:52 صبح
خوب مگه نمیتونین یک فیلد اصافه کنین و اون ها رو نام گذاری کنید ؟
ببخشید منظورتون رو متوجه نشدم لطفا بیشتر توضیح بدین
البته توجه كنيد كه بايد ركوردهاي هر شخص به ترتيب، پشت سر هم ثبت شده باشند
مشکل همین جاست که این مقادیر فیلدr ثابت نیست و میتونه تغییر کنه
vbhamed
دوشنبه 31 فروردین 1388, 10:05 صبح
سلام
چرا از دو تا تيبل پدر و فرزند و ارتباط 1 به بي نهايت استفاده نمي كنيد ؟
red11011
دوشنبه 31 فروردین 1388, 10:36 صبح
ممنون میشم بیشتر توضیح بدین برام خیلی فرقی نمیکنه که از چه روشی استفاده کنم هر روشی که سرعت بیشتری داشته باشه برام قابل قبول هست
vbhamed
دوشنبه 31 فروردین 1388, 12:43 عصر
سلام
براي اينكار بايد با بانك اطلاعاتي و نحوه كار با اون آشنايي كامل داشته باشين
اگر ساخت جدول پدر و ارتباط بوسيله كليد اصلي و خارجي رو ياد دارين كاملا مي تونيد مشكلتون رو حل كنيد
در غير اينصورت بهتره يك سري به كتابهاي برنامه نويسي بانك بزنيد
red11011
سه شنبه 01 اردیبهشت 1388, 07:27 صبح
چیزهایی که گفتین رو میدونم فقط نحوه پیاده سازی منظور شما رو متوجه نمیشم !
vbhamed
چهارشنبه 02 اردیبهشت 1388, 06:35 صبح
سلام
1 - يك جدول پدر بسازيد با فيلدهاي نام و Id كه Id كليد اصلي باشه
2 - يك جدول فرزند بسازيد با فيلدهاي شماره تلفن و ParentId
3 - فيلد Id و ParentId رو به هم ارتباط يك به بي نهايت بديد
توي اكسس بانك رو باز كنيد و جدول پدر رو هم باز كنيد
حالا چند نام در جدول پدر وارد كنيد
+ كنار سطر ها رو بزنيد و اگر اولين مرتبه هست نام جدول فرزند رو انتخاب كنيد
جدول فرزند زير سطر مربوطه جدول پدر باز ميشه
چند تلفن براي اون وارد كنيد
حلا يك Query بسازيد، براي اينكار از ويزارد استفاده كنيد، هر دو جدول رو انتخاب و گزينه * رو از هر دو جدول به عنوان فيلد انتخاب كنيد و Query رو ذخيره كنيد
حالا توي وي بي كافيه دستوري بنويسيد كه ركوردهاي مورد نظر از جدول فرزند رو براتون بياره
فرض كنيد قراره تلفنهاي علي نمايش داده بشه
Ado.RecordSource = "Select * From Query1 Where Name = 'علي'"
Ado.Refresh
اينم بانك نمونه ساخته شده :
red11011
چهارشنبه 02 اردیبهشت 1388, 08:25 صبح
سلام
منظور من این نبود که شماره های یک فرد رو برام بیاره اگه این لینک رو ببینید منظورم رو متوجه میشین
http://forum.iranled.com/showthread.php?tid=12578
ممنونم که زحمت کشیدید و وقت گزاشتین
vbhamed
چهارشنبه 02 اردیبهشت 1388, 18:28 عصر
سلام
مي دونم برنامه اين چيزي كه تو سؤال بود رو بر نمي گردونه
اما منظور از برنامه چيزه ديگه اي بود
شما اون از شماره تا شماره رو براي چي مي خواستيد ؟
منطور اين بود كه هدف نهايي شما انجام بشه
red11011
شنبه 05 اردیبهشت 1388, 08:15 صبح
سلام
اون رو برای یک برنامه انبارداری میخواستم که باید مشخص میکرد چه شماره تلفنهایی در انبار وجود داره و چه شماره هایی فروخته شده در کل از اینکه همفکردی کردین سپاسگزارم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.