سوال در مورد Join از حرفه ای ها
با سلام
فرض کنید 2 تا جدول داریم که در یکی کلید اصلی و در جدول دوم کلید خارجی موجود میباشد
حال اگر ما از
Join
استفاده کنیم به صورتی که اطلاعات جدول اول و دوم را همزمان بخواهیم آنگاه به تعداد تکرار کلیدهای خارجی داده های جدول اول در نتیجه به دست آمده تکرار خواهند شد.
حالا من میخوام در
Join
کردن اطلاعات جدول اول تکرار نشوند و اطلاعات جدول دوم را در یک فیلد جمع آوری کنم مانند شکل زیر
دقت شود که میخواهم با دستورات
Sql
این کار را انجام دهم
[IMG]file:///F:/Documents%20and%20Settings/Dear-User/My%20Documents/My%20Pictures/untitled1.JPG[/IMG]http://upload.iranblog.com/6/1245136486.jpg
نقل قول: سوال در مورد Join از حرفه ای ها
دوست عزیز این کاری که شما می خواهید البته اگر درست متوجه شده باشم با دستور PIVOT انجام میشه
نقل قول: سوال در مورد Join از حرفه ای ها
با تشکر
مورد ذکر شده را بررسی کردم اما به نتیجه نرسیدم
فکر میکنم با یک تابع مشکل حل بشود.فرض کنید جدولی برای کارمندان و جدولی هم برای مدارک تحصیلی داریم که ستون های این جدول عبارتند از:
شماره کارمند - مقطع - رشته تحصیلی
حال مشخص است که هر کارمندی میتواند بیش از یک مدرک تحصیلی داشته باشد
حال میخواهم بتوانم درخواست کنم
select ID,...,FunTahsilat(ID)
from KarmandTable
که وظیفه تابع ذکر شده این باشه که کد عضویت را بگیره و در EducationTable جستجو کنه و خروجی آن یک رشته شامل مقطع و رشته تحصیلی فرد مورد نظر باشه به عنوان مثال اگر کد 1000 دارای دو رشته باشه آنگاه در جدول تحصیلات داریم:
مقطع رشته کد کارمند
-----------------------------------------
1000 کاردانی حسابداری
کارشناسی کامپیوتر 1000
حال میخواهم خروجی تابع به صورت زیر باشه
"کاردانی حسابداری- کارشناسی کامپیوتر"
نقل قول: سوال در مورد Join از حرفه ای ها
نقل قول: سوال در مورد Join از حرفه ای ها
با تشکر
من روی لینکی که فرستادید کار کردم و در انتخاب همه رکوردهای جدوال به نتیجه رسیدم منتها زمانی که در قسمت where میخواهیم خروجی تابع را فیلتر کنیم خطا میده که
<OK>
selet Fun_Personal_Birthday(code)
from personal
<Error>'Fun_Personal_Birthday' is not a recognized built-in function name
selet Fun_Personal_Birthday(code)
from personal
where Fun_Personal_Birthday(code)="aa
نقل قول: سوال در مورد Join از حرفه ای ها
نقل قول:
نوشته شده توسط
baidin
با تشکر
من روی لینکی که فرستادید کار کردم و در انتخاب همه رکوردهای جدوال به نتیجه رسیدم منتها زمانی که در قسمت where میخواهیم خروجی تابع را فیلتر کنیم خطا میده که
<OK>
selet Fun_Personal_Birthday(code)
from personal
<Error>'Fun_Personal_Birthday' is not a recognized built-in function name
selet Fun_Personal_Birthday(code)
from personal
where Fun_Personal_Birthday(code)="aa
کسی اینجا نیست!
خودم به جواب رسیدم دوستانی که این مشکل را داشتند کافیه قبل از نام تابع dbo قرار بدین!
where dbo.Fun_Personal_Birthday(code)="aa