امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
انتخاب تصادفی رکورد از بین چند جدول
نویسنده پیام
فاطمه وطن دوست آفلاین
عضو افتخاری
****

ارسال‌ها: 510
موضوع‌ها: 101
تاریخ عضویت: اردیبهشت ۱۳۸۷

تشکرها : 936
( 1000 تشکر در 386 ارسال )
ارسال: #1
انتخاب تصادفی رکورد از بین چند جدول
سلام ، دستور اس کیو ال رو با توجه به شرایط ذیل به چه شکل باید نوشت ؟

[تصویر:  66g3ev.jpg]

بسته آموزشی فتوشاپ جلوه... در صورت تمایل به داشتن این بسته پیغام خصوصی بدید.
نرم افزار اندرویدی آزمون تستی ...... (مخصوص مربیان و هنر جو ها)
(آخرین ویرایش در این ارسال: ۰۲-آذر-۱۳۸۷, ۱۵:۲۴:۱۱، توسط far_222000.)
۰۲-آذر-۱۳۸۷, ۱۱:۴۴:۱۲
ارسال‌ها
پاسخ
far_222000 آفلاین
مدير بخش ديتابيس
*****

ارسال‌ها: 955
موضوع‌ها: 68
تاریخ عضویت: شهریور ۱۳۸۴

تشکرها : 468
( 1249 تشکر در 422 ارسال )
ارسال: #2
RE: انتخاب تصادفی رکورد از بین چند جدول
دستوري توي SQL براي انتخاب Random وجود نداره
كاري كه شما بايد انجام بدي اينه:
1. عددي بين "0" و "تعداد Row هاي جدول" به صورت Random انتخاب مي كني
2. اين دستور SQL رو مي نويسي: "SELECT * FROM tablename WHERE id = random"
فقط بايد جدولت يه ستون به نام id داشته باشه
حالا اگه مي خواي از جدولت 5 تا ركورد رو به صورت Random انتخاب كني، بايد مراحل بالا رو 5 بار انجام بدي

پارک24
مرجع خرید و فروش خودرو
(آخرین ویرایش در این ارسال: ۰۲-آذر-۱۳۸۷, ۱۵:۳۰:۵۶، توسط far_222000.)
۰۲-آذر-۱۳۸۷, ۱۵:۲۹:۲۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : فاطمه وطن دوست
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #3
RE: انتخاب تصادفی رکورد از بین چند جدول
طراحی دیتابیستون اشتباهه.
اول میاید سه تا جدولتونو یکی میکنید. یه فیلدم اضافه میکنید که نوع سوالو بگه. یعنی میشه 4 تا فیلد. code-quiz-kelid-type .
حالا میتونید توی برنامه به تعدادی که میخواید کد تولید کنید. بعد با کلمه IN و دستورات sql اونا رو در بیارید.
ویرایش: شرمنده جواب جناب far_222000 رو ندیده بودم. فیلد id شون همون codeهست فکر کنم. با دستور IN دیگه نیاز به تکرارم نیست.

میزان رای دشمن است!
[تصویر:  cff100.png]
(آخرین ویرایش در این ارسال: ۰۲-آذر-۱۳۸۷, ۱۵:۳۹:۵۲، توسط ajlajlajl.)
۰۲-آذر-۱۳۸۷, ۱۵:۳۶:۱۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : فاطمه وطن دوست
hamed_Arfaee آفلاین
مدیر بخش
*****

ارسال‌ها: 1,334
موضوع‌ها: 231
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 1250
( 2634 تشکر در 730 ارسال )
ارسال: #4
RE: انتخاب تصادفی رکورد از بین چند جدول
در تکمیل گفته دوستان :

شما جدول سوالات رو یکی کنین
من برنامه رو برفرض این دیتابیس توضیح میدم :
کد:
ID              Cname                    Quest
A1                Access                    Q1
A2                Access                    Q2
A3                Access                    Q3
W1               Word                      Q1
W2               Word                      Q2
W3               Word                     Q3
...
...
الان میخواهیم 2 سوال تصادفی از اکسس استخراج کنیم پس داریم :
کد:
Dim Acm As String
Dim Comma As String
Dim x As Integer
For i = 1 To 2
    Randomize Timer
    x = Int(Rnd() * 3) + 1
    Do While (InStr(Acm, CStr(x)) <> 0)
        Randomize Timer
        x = Int(Rnd() * 3) + 1
    Loop
    Acm = Acm & Comma & "A" & Trim(Str(x))
    Comma = ","
Next
الان یک رشته از کلیدهای تصادفی مربوط به سوالات درس اکسس تهیه شده که هیچکدومشون تکراری نیست
میرسیم به تهیه این کوئری :
کد:
Dim Qlist As Variant
Dim strSQL, strSQL2, strOR As String
strSQL = "SELECT Quest FROM Table1 WHERE (Cname='Access' AND "
Qlist = Split(Acm, ",")
For i = 0 To UBound(Qlist)
    strSQL2 = strSQL2 & strOR & "ID='" & Qlist(i) & "'"
    strOR = " OR "
Next
strSQL = strSQL & strSQL2 & ");"
با ادامه این کار و تعویض کلمه اکسس با ورد و حرف A با حرف W میتوان سوالات ورود رو استخراج کرد .

حامد ارفعی

موفقيت، پيش رفتن است، نه به نقطه ي پايان رسيدن.(آنتوني رابينز)


تریگرها در SQL server

آیا میدانید SQL ای
(آخرین ویرایش در این ارسال: ۰۲-آذر-۱۳۸۷, ۲۱:۴۹:۲۴، توسط hamed_Arfaee.)
۰۲-آذر-۱۳۸۷, ۲۱:۴۷:۵۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : فاطمه وطن دوست
mbza11 آفلاین
در حال پیشرفت
***

ارسال‌ها: 334
موضوع‌ها: 0
تاریخ عضویت: آبان ۱۳۸۶

تشکرها : 302
( 149 تشکر در 75 ارسال )
ارسال: #5
RE: انتخاب تصادفی رکورد از بین چند جدول
سلام.
من فقط فرمول عدد تصادفي رو مي گم که مي شه با کدهايي که دوستان گذاشتن ترکيب کرد.
کد:
randomize (second(now) * minute(now))
x=(حدپايين-حد بالا )*rnd + حد پايين
حدبالا: حداکثر مقدار
حدپايين: حداقل مقدار
اميدوارم بدردتون بخوره.

موفق باشيد.

یه خورده سرم شلوغ شده دیر به دیر میام، ولی میام ...
------------------------------------------------------------
تنبل نباش، خودت بنويس ... Angry
اگه به مشکل خوردي، بيا بپرس. Clap
S.M.B Productions
۰۳-آذر-۱۳۸۷, ۱۴:۳۷:۰۲
ارسال‌ها
پاسخ
تشکر شده توسط : فاطمه وطن دوست
hamed_Arfaee آفلاین
مدیر بخش
*****

ارسال‌ها: 1,334
موضوع‌ها: 231
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 1250
( 2634 تشکر در 730 ارسال )
ارسال: #6
RE: انتخاب تصادفی رکورد از بین چند جدول
یک چیز دیگه یادم افتاد وقتی کلید هر سوال رو با اولین حرف همون سوال شروع میکنیم دیگه نیازی به ستون اضافی نام درس نداریم

و اگه کدها رو خلاصه کنیم اینو داریم :
کد:
ID                     Quest
A1                         Q1
A2                         Q2
A3                         Q3
W1                        Q1
W2                        Q2
W3                        Q3
...
...
الان برای انتخاب 2 سوال ورد و 2 سوال اکسس داریم :
کد:
public function RndQuest(QCount as integer,NCount as integer,Lesson as string)as string

Dim Acm As String
Dim Comma As String
Dim x As Integer
For i = 1 To NCount
    Randomize Timer
    x = Int(Rnd() * QCount) + 1
    Do While (InStr(Acm, CStr(x)) <> 0)
        Randomize Timer
        x = Int(Rnd() *  QCount) + 1
    Loop
    Acm = Acm & Comma & Lesson & Trim(Str(x))
    Comma = ","
Next
RndQuest=Acm
end function
با تابع بالا میتوان با دادن تعداد کل سوالات ، تعداد سوالاتی که باید استخراج شوند و حرف اختصاری هر درس یک رشته از کلیدهای غیر تکراری اون درسو بدست بیاریم .
کد:
public function GetSQL(strID as string)as string
Dim Qlist As Variant
Dim strSQL, strSQL2, strOR As String
strSQL = "SELECT Quest FROM Table1 WHERE ( "
Qlist = Split(strID, ",")
For i = 0 To UBound(Qlist)
    strSQL2 = strSQL2 & strOR & "ID='" & Qlist(i) & "'"
    strOR = " OR "
Next
strSQL = strSQL & strSQL2 & ");"
GetSQL= strSQL
end function
حالا میتوان با یک فراخوانی ساده کد اسکیو ال انتخاب سوالات رو بدست اورد :
کد:
SQL = GetSQL(RndQuest(3, 2, "A") & "," & RndQuest(3, 2, "W"))

حامد ارفعی

موفقيت، پيش رفتن است، نه به نقطه ي پايان رسيدن.(آنتوني رابينز)


تریگرها در SQL server

آیا میدانید SQL ای
۰۴-آذر-۱۳۸۷, ۱۵:۲۱:۴۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : فاطمه وطن دوست
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #7
RE: انتخاب تصادفی رکورد از بین چند جدول
قابل اجراست ولي از نظر طراحي اشتباه است.

میزان رای دشمن است!
[تصویر:  cff100.png]
۰۴-آذر-۱۳۸۷, ۱۶:۰۱:۱۴
وب سایت ارسال‌ها
پاسخ
hamed_Arfaee آفلاین
مدیر بخش
*****

ارسال‌ها: 1,334
موضوع‌ها: 231
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 1250
( 2634 تشکر در 730 ارسال )
ارسال: #8
RE: انتخاب تصادفی رکورد از بین چند جدول
کجاش اشتباست ؟

حامد ارفعی

موفقيت، پيش رفتن است، نه به نقطه ي پايان رسيدن.(آنتوني رابينز)


تریگرها در SQL server

آیا میدانید SQL ای
۰۴-آذر-۱۳۸۷, ۱۶:۲۲:۱۹
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  حذف رکورد های تکراری پس جمع رکورد ها The.Ghost 1 2,442 ۲۱-خرداد-۱۳۹۵, ۱۵:۰۳:۱۶
آخرین ارسال: far_222000
Question مشکل در الحاق دو جدول The.Ghost 1 2,421 ۰۴-خرداد-۱۳۹۵, ۰۹:۵۹:۰۰
آخرین ارسال: lord_viper
Question کلید برای بی نهایت رکورد The.Ghost 3 2,878 ۰۴-فروردین-۱۳۹۵, ۱۲:۵۷:۲۳
آخرین ارسال: far_222000
Rolleyes چند سوال؟اعمال محدودیت رو ی رکورد javaweb 7 6,121 ۱۰-خرداد-۱۳۹۳, ۱۴:۵۰:۱۲
آخرین ارسال: javaweb
Question بدست آوردن سطر هایی که دوبار در جدول وجود دارند javaweb 4 4,225 ۲۸-آذر-۱۳۹۲, ۲۰:۱۹:۳۲
آخرین ارسال: javaweb
  مقایسه رکوردهای دو جدول taksa2012 11 11,136 ۰۶-آذر-۱۳۹۲, ۲۳:۵۸:۳۶
آخرین ارسال: taksa2012
  مقایسه جدول های دارای چند کلید taksa2012 4 3,649 ۰۴-آذر-۱۳۹۲, ۱۱:۱۳:۴۴
آخرین ارسال: lord_viper
  مشکل در ورود داده به جدول taksa2012 1 2,311 ۲۶-مهر-۱۳۹۲, ۲۳:۵۹:۵۴
آخرین ارسال: Ghoghnus
  مشاهده ی همه ی رکوردهای جدول در اس کیو ال سرور ترانسپورتر 20 13,634 ۱۳-مهر-۱۳۹۲, ۱۶:۰۸:۱۵
آخرین ارسال: ترانسپورتر
  [سوال] انتخاب از جدولهای پدر و فرزند در sql با زبان c# bety 5 5,366 ۰۶-شهریور-۱۳۹۲, ۰۹:۳۵:۱۲
آخرین ارسال: lord_viper

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS