PDA

View Full Version : سوال: کویری برای join سه جدول



hana2064
سه شنبه 12 خرداد 1388, 10:19 صبح
با سلام من سه تا جدول
vajh> مبالغ دریافتی از اشخاص با کلید اصلی شماره سند و کلیدهای خارجی شماره پرسنلی و شماره دانشجویی
karmandan>کارمندان کلید اصلی : شماره پرسنلی
stu<دانشجویان کلید اصلی : شماره دانشجویی

دارم یه کویری مینویسم تا بتونم اطلاعات جدول vajh و اطلاعات دو جدو ل دیگه رو ترکیب و تو گزارشم نشون میدم



select
vajh.sal_mali
vajh.pool,
vajh.sh_st,
vajh.sh_prs,
vajh.babat,


karmandan.family,
stu.family
from vajh
left join stu on stu.sh_st=vajh.sh_st
left join karmandan on karmandan.sh_prs=vajh.sh_prs


میخوام که تو نتیجه فامیلی اشخاص از جداول مربوطه تو گزارش نمایش داده بشه . البته این کد رو اجرا و نتیجه رو تو یکه دیتاست و بعد به دیتاسورس کریستال میفرستم
همه چی با یک جدول در سته ولی وقتی این دو جدو ل هم اضافه میشن موقع اجرا فقط اطلاعات دانشجویان و جدول وجه نمایش داده میشه و فیلدهایی تو جدول وجه که به کارمندان مربوطه در نمایش ظاهر نمیشه چرا؟
البته من این سوالو تو تالار گزارش سازی با کریستال هم پرسیدم ولی هیچکی جواب نداده اگه تو سی شارپ میپرسیدم احتمالا حذف میشد به هر حال از مدیرای بخش هم ممنون میشم که به تاپیکهایی که به نتیجه نمیرسن و بی پاسخ میمونن یه گوشه چشمی داشته باشن
ممنونم میشم از راهنماییتون

ma1246
سه شنبه 12 خرداد 1388, 12:40 عصر
شما بجای این کار ابتدا یک View از روی کوئری نوشته شده بسازید تا در کریستال ریپورت فقط با یک جدول کار کنید .
Create View [MyView] As select vajh.sal_mali vajh.pool, vajh.sh_st, vajh.sh_prs, vajh.babat,
karmandan.family, stu.family from vajh left join stu on stu.sh_st=vajh.sh_st left join karmandan on
karmandan.sh_prs=vajh.sh_prs

سپس در کریستال ریپورت فقط این View --> MyView را لود کرده و نمایش دهید .

hana2064
سه شنبه 12 خرداد 1388, 12:50 عصر
ممنونم ولی مگه نمیشه تو یه گزارش از سه جدول همزمان استفاده کرد؟ فکر میکنم قبلا این کارو بچه ها کردن ولی مشکل من تو کار نکردن این کوئری هست ایا این کوئری اشکالی داره؟

a.maleki
سه شنبه 12 خرداد 1388, 20:49 عصر
دوست عزیز یه بار دیگه به ساختار join یه نگاه بکن


select نام فیلدها
from نام جدول 1 NNER JOIN نام جدول 2
ON فیلد مشترک جدول 1= فید مشترک جدول 2


این هم یه نمونه کد



SELECT TFNAME,TLNAME,COURSE.DEPARTEMENT, PERESENT.SDATE
FROM PRESENT inner join COURSE
ON present.cno=course.cno INNER JOIN teacher
on teacher.tno=present.tno


در یک جدول نام استاد و دروس مربوطه و تاریخ شروع را نمایش می ده
امیدوارم به دردت بخوره