PDA

View Full Version : تولید تکراری رکورد ها در join پنج جدول



hercool
پنج شنبه 28 خرداد 1394, 20:05 عصر
سلام دوستان من می خوام پنج تا جدول را در هم ضرب کنم
ولی مشکل اینجاست بجای تولید 2 رکورد 16 رکورد تولید می کند هشت تا رکورد یکی و هشت تای دیگر یکشکل هستند
ممنون میشم راهنماییم کنید چطور جلوی تکرار ساخت رکورد های تکراری را بگیرم
select * from listreport_codal as a left join balancesheet1 as b on a.codereport=b.codereport
left join balancesheet2 as c on b.codereport=c.codereport
left join balancesheet3 as d on c.codereport=d.codereport
left join MainBalancesheet as e on d.codereport=e.codereport
where a.codereport=13

phonixone2
شنبه 30 خرداد 1394, 07:56 صبح
سلام دوستان من می خوام پنج تا جدول را در هم ضرب کنم
ولی مشکل اینجاست بجای تولید 2 رکورد 16 رکورد تولید می کند هشت تا رکورد یکی و هشت تای دیگر یکشکل هستند
ممنون میشم راهنماییم کنید چطور جلوی تکرار ساخت رکورد های تکراری را بگیرم
select distinct * from listreport_codal as a left join balancesheet1 as b on a.codereport=b.codereport
left join balancesheet2 as c on b.codereport=c.codereport
left join balancesheet3 as d on c.codereport=d.codereport
left join MainBalancesheet as e on d.codereport=e.codereport
where a.codereport=13


بعد از select از distinct استفاده کن

SabaSabouhi
شنبه 30 خرداد 1394, 10:59 صبح
سلام دوستان من می خوام پنج تا جدول را در هم ضرب کنم
ولی مشکل اینجاست بجای تولید 2 رکورد 16 رکورد تولید می کند هشت تا رکورد یکی و هشت تای دیگر یکشکل هستند
ممنون میشم راهنماییم کنید چطور جلوی تکرار ساخت رکورد های تکراری را بگیرم
select * from listreport_codal as a left join balancesheet1 as b on a.codereport=b.codereport
left join balancesheet2 as c on b.codereport=c.codereport
left join balancesheet3 as d on c.codereport=d.codereport
left join MainBalancesheet as e on d.codereport=e.codereport
where a.codereport=13


سلام
گمان می‌کنم اشکال از شرط‌ها هست. شما در شرط‌ها باید فقط از a.codereport استفاده کنی که از جدول ثابت a اومده
و نه از b, c, d که معلوم نیست باشن یا نباشن ( left outer join تضمین نمی‌کنه که مقدار داشته باشن )

صبا صبوحی