PDA

View Full Version : کد Sql یرای SqlDataAdapter



mahlake
پنج شنبه 12 شهریور 1394, 17:57 عصر
با سلام بنده 3 جدول دارم به شکل زیر


جدول مشاور


کد مشاور
نام مشاور


1
عباس زاده


2
محمدی




جدول مراجع


کد مراجع
کد مشاور
نام مراجع
تلفن مراجع


1
2
مرادی
1111111


2
2
پاشا
2222222


3
1
ایوبی
3333333




جدول نوبت دهی


کد مشاور
ساعت 8
ساعت 9
ساعت 10


1
1(کد مراجع)
2(کد مراجع)
3(کد مراجع)


2
3(کد مراجع)
1(کد مراجع)
2(کد مراجع)




حالا با توجه به جداول بالا میخوام با یک کوئری، جداول رو به صورت زیر نمایش بدهم:


نتیجه کوئری


حالت اول:


نام همکار
نام و شماره تلفن مشتری
ساعت نوبت دهی


عباس زاده
مرادی 1111111
ساعت 8


محمدی
ایوبی 3333333
ساعت 8


عباس زاده
پاشا 2222222
ساعت 9


محمدی
مرادی 1111111
ساعت 9


عباس زاده
ایوبی 3333333
ساعت 10


محمدی
پاشا 2222222
ساعت 10





حالت دوم:


نام همکار
ساعت 8
ساعت 9
ساعت 10


عباس زاده
مرادی 1111111
پاشا 2222222
ایوبی 3333333


محمدی
ایوبی 3333333
مرادی 1111111
پاشا 2222222




خوب حالا کد select برای رسیدن به چنین جدولی رو نمیدونم چطور باید بنویسم...

لطفا بنده را راهنمایی کنید... با تشکر

دلتنگ اسمان
پنج شنبه 12 شهریور 1394, 20:19 عصر
با سلام
چرا در جدول مراجع ،کد مشاور برای دو نفر یکسانه؟
کلید اصلی جداولت چیه؟
ولی در هر حال شما میتونی از join کردن استفاده کنی.
این لینک (http://developer1.ir/SQL/Join_table.aspx)رو ببین توضیحات بهتری ارائه داده.

mahlake
پنج شنبه 12 شهریور 1394, 20:39 عصر
چون یه مشاور میتونه چند تا مراجع راشته باشه... موضوع نحوه ترکیب اطلاعات 3 جدول هست که من با جوین هم نتونستم گفتم شاید مهندسین بتونن این یک خط کد رو بهم بگن

abdoullah.aberi
جمعه 13 شهریور 1394, 04:30 صبح
سلام تو نت یه سرچ راجع به pivot بزن به جوابت میرسی

mahlake
جمعه 13 شهریور 1394, 20:32 عصر
واقعا مهندسین عزیز نمیتونن تو نوشتن این یک خط به من کمک کنن و اون رو لطف کنن و برام بنویسن...

من pivot را خوندم اما واقعا هیچی ازش نفهمیدم...

اگه امکانش هست یکی کدش رو برام بنویسه یا مشابهش رو بده تا من ببینم میتونم درستش کنم یا نه... من خیلی sql بلد نیستم لطفن کمکم کنید...
با تشکر

m_m_moandes
سه شنبه 24 شهریور 1394, 06:46 صبح
سلام دوست عزیز

ساختار جدول نوبت دهی شما اصولی نیست شما بهتر است این جدول را به صورت زیر درست کنید
البته شایان ذکر است در دنیای واقعی برای چنینی کاری یک ستون نیز برای درج تاریخ مشاوه لازم است که چون شما نگذاشتید ما هم از ان صرف نظر کردیم(بدون ستون تاریخ هر روز یک جدول می خواهد )
نام فرضی جدول زیر = tbl_nobat










code_maraje

time

code_moshaver

ID



کد مراجع

زمان نوبت

کد مشاور

ستون id








اگر جدول را به صورت فوق درست کنی
گزارش های مختلف را به راحتی می توانی از آن بگیری


select * from tbl_nobat
where code_moshaver=1



برای اینکه در نتیجه گزارش به جای کد مشاور نام مشاور را ببینی و به جای کد مراجع نام و شماره تلفن آنها را ببینی باید از inner join استفاده بکنی و جداول را به هم متصل بکنی


اما یک توصیه دوستانه
اول مفاهیم و اصول کار با sql را یاد بگیر بعد از آن استفاده کن