1 ضمیمه
سوال در مورد مشکل درjoin 3 جدول
با سلام
دوستان من سه تا جدولمو به هم join کردم ولی در گرفتن خروجی اررور نمیده ولی بعضی از رکوردهای جدولمو 2 بار تکرار میکنه
این دستوری که نوشتم:
SqlDataAdapter insert = new SqlDataAdapter(@"select MaliRecieve.shgh as [ش قرارداد],MaliRecieve.FamilyM as [نام مسافر],MaliRecieve.Nametor as [نام تور],customer.dateharekat as [تاریخ حرکت],customer.Count as تعداد,CardtoCard.Malirecieve as مبلغ ,MaliRecieve.TypeRecieve as [نوع دریافت],cardtocard.ShPeygiri as [ش پیگیری] From MaliRecieve inner join cardtocard on malirecieve.shgh=cardtocard.shgh inner join customer on customer.shgh=malirecieve.shgh where Customer.typePassenger='true' And " + conditions, connect);
واینم نحوه نمایش :
ضمیمه 112873
اساتید عزیز چیکار کنم.خیلی گیرم کمکم کنین
نقل قول: سوال در مورد مشکل درjoin 3جدول
بنويس
select distinct ........
نقل قول: سوال در مورد مشکل درjoin 3جدول
نوشتم جواب نداد
آخه اصلا تو دیتا بیسو که میبینم تکراری وجود نداره که این شکلی داره نشون میده
خیلی عجیبه
نقل قول: سوال در مورد مشکل درjoin 3جدول
سلام
چرا از As برای فارسی کردن نام ستون ها استفاده می کنید؟
کوئری رو درون view خودتون تست متوجه میشید
نقل قول: سوال در مورد مشکل درjoin 3جدول
برای نمایش نام ستونها از As استفاده می کنم
تست کردم همون طوریه
نقل قول: سوال در مورد مشکل درjoin 3جدول
راه دیگه ای هم برای نمایش فارسی نام ستونها هست اگه هست بگین لطفا.دانیال جان تست کردم همون طوریه
نقل قول: سوال در مورد مشکل درjoin 3جدول
سلام
همونطوری یعنی تو view هم تکراری میاره؟
دیتابیست رو بزار
نقل قول: سوال در مورد مشکل درjoin 3جدول
اره همون طوریه
اتچ نمیشه فایل sql ام
آدرس ایمیل بده ایمیل کنم
نقل قول: سوال در مورد مشکل درjoin 3جدول
سلام ،
برای فارسی نشون دادن ستون دیتا گرید .
به عنوان مثال شما کد:
MaliRecieve.shgh as [ش قرارداد]
را به :
MaliRecieve.shgh as m_shgh
و بعد در جدول دیتا گرید نام به فارسی تغییر بده
dgv.columns["m_shgh"].headertext="ش قرارداد";
اینو بگم که به احتمال فراوان مشکل شما این هم نیست ، شما ، اگر تصویری از داده های هر جدول هم قرار بدید ممنون میشم .
نقل قول: سوال در مورد مشکل درjoin 3جدول
دوستان من تعداد سطرای اطلاعاتی جداولم درسته ولی وقتی اومدم Join زدم بین این سه تا جدول اومده بعضی از رکوردها رو 4 تا نشون داده.الان که اومدم بررسی میکنم میبینم در جدول malirecieve اون سطرایی که ویرایش شدنو اومده در join چهار سطرش کرده و نشون میده
نقل قول: سوال در مورد مشکل درjoin 3جدول
مگه رو همون رکورد ویرایش نمیشن؟
مقادیر قبلی نگه میدارید؟
نقل قول: سوال در مورد مشکل درjoin 3جدول
نقل قول:
نوشته شده توسط
نیما حتمی
دوستان من تعداد سطرای اطلاعاتی جداولم درسته ولی وقتی اومدم Join زدم بین این سه تا جدول اومده بعضی از رکوردها رو 4 تا نشون داده.الان که اومدم بررسی میکنم میبینم در جدول malirecieve اون سطرایی که ویرایش شدنو اومده در join چهار سطرش کرده و نشون میده
دوست عزیز شما به احتمال زیاد مشکل Cross Join دارید:
نوعی ار الحاق (join) که گاهی تحت نام الحاق ضربدری هم شناخته میشه .
در این نوع از Join اگر جدول اول X رکورد و دومی Y رکورد داشته باشد نتیجه Cross Join تعداد X * Y رکورد میشود .
به لینک زیر یک سر بزنید :
http://en.wikipedia.org/wiki/Join_%28SQL%29
شما برای رفع این مشکل میتونید برای هر join یک Group by تعریف کنید که احتمال زیاد این مشکل رفع خواهد شد.
نقل قول: سوال در مورد مشکل درjoin 3جدول
دوست عزیز دستور group by رو مینویسم اررور میده.کجای دستورم بنویسم.دستورمو تو تایپیک اولم نوشتم
نقل قول: سوال در مورد مشکل درjoin 3جدول
کسی نیست کمک کنه چطور در دستورم که در تایپیک 1 نوشتم از دستور group by بعد از هر join استفاده کنم؟
نقل قول: سوال در مورد مشکل درjoin 3جدول
نقل قول:
نوشته شده توسط
نیما حتمی
کسی نیست کمک کنه چطور در دستورم که در تایپیک 1 نوشتم از دستور group by بعد از هر join استفاده کنم؟
بعد از دستور Where کد Group by اضافه کنید:
مثل:
Group by tbl_name.column_name
tbl_name = نام جدول
column_name = نام ستون
اگر با خطایی مواجه شدید لطفا پیغام خطا قرار بدید
1 ضمیمه
نقل قول: سوال در مورد مشکل درjoin 3جدول
ضمیمه 112926
این اررورو میده
نقل قول: سوال در مورد مشکل درjoin 3جدول
"select MaliRecieve.shgh as [ش قرارداد],MaliRecieve.FamilyM as [نام مسافر],MaliRecieve.Nametor as [نام تور],customer.dateharekat as [تاریخ حرکت],customer.Count as تعداد,CardtoCard.Malirecieve as مبلغ ,MaliRecieve.TypeRecieve as [نوع دریافت], CardtoCard.ShPeygiri as [ش پیگیری] From MaliRecieve inner join customer on malirecieve.shgh=customer.shgh inner join cardtocard on cardtocard.shgh=malirecieve.shgh where Customer.typePassenger='true' And " + conditions
این دستورمه کجاش بنویسم
نقل قول: سوال در مورد مشکل درjoin 3جدول
مرسی که وقت میزاری ولی دستور منو درست ندیدی دوست عزیز من در آخر از And + condition استفاده کردم
یعنی از شروط ترکیبی استفاده کردم
واسه همینه که نمیدونم کجا از group by استفاده کنم چون از نظر دستوری هر جا بنویسی در دستور من اررور میده
نقل قول: سوال در مورد مشکل درjoin 3جدول
نقل قول:
نوشته شده توسط
نیما حتمی
مرسی که وقت میزاری ولی دستور منو درست ندیدی دوست عزیز من در آخر از And + condition استفاده کردم
یعنی از شروط ترکیبی استفاده کردم
واسه همینه که نمیدونم کجا از group by استفاده کنم چون از نظر دستوری هر جا بنویسی در دستور من اررور میده
condition موجود در کد چه شرطی را اضافه میکنه ؟
نقل قول: سوال در مورد مشکل درjoin 3جدول
condition براساس شرایطی که کاربر تعیین میکنه در بعد از where میاد و دستور سلکت من براساس اون شرایط عمل میکنه
string conditions = "1=1";
if (checkBox1.Checked == true)
{
conditions += "and cardtocard.namebank='" + NameBank.Text + "' ";
}
else
{
checkBox1.Checked = false;
}
if (checkBox4.Checked == true)
{
conditions += "and customer.dateharekat='" + DateHarekat.Value.FarsiSelectedDate + "' ";
}
else
{
checkBox4.Checked = false;
}
if (checkBox5.Checked == true)
{
conditions += "and MaliRecieve.Nametor='" + nametor.Text + "' ";
}
else
{
checkBox5.Checked = false;
}
نقل قول: سوال در مورد مشکل درjoin 3جدول
اینم تست کن :
where Customer.typePassenger='true' And " + conditions +"group by tbl_name.column_name"
نقل قول: سوال در مورد مشکل درjoin 3جدول
این روشارو تست کردم قبلا درست نمیشه.
واقعا مشکل کجاست؟چطوری حل میشه این مشکل؟دارم دیونه میشم
نقل قول: سوال در مورد مشکل درjoin 3جدول
سلام
اگه براتون امکان داره چند رکورد از جدولهاتونو بزارید