View Full Version : چگونگی بررسی چند شرط برای درج داده در دیتابیس
r4hgozar
چهارشنبه 27 فروردین 1393, 08:49 صبح
سلام دوستان و اساتید.
من یک جدول دارم شام: نام، شماره دانشجویی، کلاس، زمانو تاریخ
من در حالت عادی با if exists مشخص می کردم که ایا در جدول داده وجود داره یا نه.
اما الان می خوام بررسی کنم که آیا به عنوان مثال1- این دانش آموز در این یک ساعت نتواند 2 کلاس بردارد.
2- یا مثلا یک کلاس در 1 ساعت و یک تاریخ نتواند 2 بار رزرو شود.
و از این جور مثال ها که باید 2 تا فیلد ور با هم ادقام کرد و شرط رو بررسی کرد.
ممنون میشم راهنماییم کنید.
مهرداد صفا
چهارشنبه 27 فروردین 1393, 14:43 عصر
سلام.
1- این قبیل سوالات باید در تالار T-SQL مطرح شود.
2- بهتر بود از دو و یا حتی سه جدول برای ذخیره اطلاعات استفاده می شد تا داده های تکراری وارد جدول نشوند. مثلا نیاز نیست در هر رکورد نام دانشجو ذخیره شود، در حالیکه ممکن است یک دانشجو چندین کلاس بردارد. پس در این مورد نام دانشجو تکراری است.
3- چطوری با EXISTS به نتیجه نمی رسید؟ به این صورت امتحان کنید:
IF(EXISTS(SELECT * FROM STUDENT WHERE NAME='MyName' AND CLASS='MyClass'))
و یا از COUNT برای به دست آوردن تعداد رکوردهای مورد نظر استفاده کنید:
SELECT COUNT(*) FROM STUDENT WHERE NAME ='A' AND CLASS='B'
r4hgozar
پنج شنبه 28 فروردین 1393, 08:14 صبح
ممنون آقای صفا. این جدول خودش یک جدول برای ارتباط چند جدول به هم. نمی تونستم کاری کنم جز یک جدول که 2 فیلدش داده تکراری بگیره
اما در مورد سوال خودم.
شما در بالا با دستور exist یکی از حالات شرط رو بررسی کردید در حالی که من باید به عنوان مثال 5 تا شرط رو استفاده کنم.
من مثال زدم/
1- این دانش آموز در این یک ساعت نتواند 2 کلاس بردارد.
2- یا مثلا یک کلاس در 1 ساعت و یک تاریخ نتواند 2 بار رزرو شود.
من هم باید دانش آموز رو بررسی کنم و ساعت کلاس در یک شرط ، در طرف دیگه باید کلاس رو بررسی کنم و ساعت و تاریخ تا یک کلاس در یک ساعت و تاریخ 2 بار رزرو نشه.
کل شرط من مثلا میشه خط بالا.
ممنون میشم راهنمایی کنین.
r4hgozar
پنج شنبه 28 فروردین 1393, 20:33 عصر
کسی نیست جواب بده؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.