50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

گزارش گیری در C#

با عرض سلام خدمت همه اساتید گرامی

در یک کد مانند زیر اطلاعات را از اوراکل دریافت کنیم

SELECT `fname`, `sname`,'classid' FROM students

میخواهیم هرجا کلاس آیدی برابر با 2 شد نام ریاضی و هرجا 3 شد با نام علوم ، در table  دیگر درج شود چه کنیم ؟

از بذل محبت شما سروران گرامی سپاسگذارم .
پرسیده شده در 1401/06/11 توسط

3 پاسخ

0
SELECT `fname`, `sname`,'classid' FROM students
نه منظورم اینه اگه کلاس آیدی شماره 2 بود چاپ کنه ریاضی و 3 بود بنویسه علوم
در اصل سوالم اینه وقتی دستور select میدیم چجوری به تک تک داده های به دست اومده دسترسی پیدا کنیم
مثلا select انجام میدیم
امکان داره 2000 ردیف اطلاعات بیاد
حالا چطور به اون 2000 داده دسترسی داشته باشم برای تغییر تا بعدش چاپ کنم و یا بریزم داخل تیبل بدون اینکه به جدول اصلی دست بخوره

مثلا اطلاعات بیاد داخل یک آرایه که بشه با یه حلقه for به دونه دونه اطلاعات دسترسی داشته باشم

از اینکه جواب دادید سپاسگذارم
پاسخ در 1401/06/13 توسط
1


اول جواب سوالتون :

اگه می خواید در سطح sql با داده های کار کنید ، می تونید بربزدشون توی یک temp table که جدول موقت تا پایان دستورات شما هستند. البته باید ستون های اضافی که می خواید رو توش خودتون بسازید. یه سرچ بکنید. کدهاش فراوون هست.می تونید روشون آپدیت بزنید ، حلقه داشته باشید و برای هر خط محاسبات داشته باشید...


دوم : اگه در همین حد اطلاعات رو می خواید از چند جدول بگیریرد می تونید با یه دستور ساده بگیرید :

Code
select strudents.*,classes.Name from students,classes 
where classes.classId=Students.classId

کد بالا ، همه ستون های students رو به همراه Name از جدول class رو میاره.


سوم : طراحی شما ایراد داره. ببینید کلا نباید طوری طراحی کنید که یک دیتا تو همه سطرها بی خودی تکرار بشه. مثلا الان بخواید اسم کوچک یک دانشجو رو عوض کنید ، می بینید تو 100 تا خط اومده که اصلا درست نیست. ضمنا گرفتن همه کلاس های یک دانشجو هم الان غیر ممکنه. اگه اسم دو نفر مثل هم شد چی ؟

شما باید یک جدول داشته باشید فقط برای اطلاعات فردی دانشجو ، یک جدول برای اطلاعات درس و یک جدول واسط که مثلا فقط Id دانشجو و فقط id درس رو داره.

جدول students

studentId,FirstName,LastName.Phone,Address,studentNumber

جدول classes

ClassId,ClassName

جدول واسط StudentClasses

StudentClassId,StudentId,ClassId


پاسخ در 1401/06/15 توسط
1

یعنی همزمان class=;2; و name='ریاضی' بود ؟

اون وقت چی رو بریزه تو یه جدول دیگه ؟

اصلا اون جدول چه ستون هایی داره ؟


ببینید سوالتون رو چقدر گنگ می پرسید! 

پاسخ در 1401/06/11 توسط

پاسخ شما