PDA

View Full Version : Group by در Inner Join



NasimBamdad
دوشنبه 13 فروردین 1397, 01:12 صبح
سلام و وقت بخیر

یه کوری دارم که به دلیل Inner Join شدن تمام رکورد ها رو نشون میده . ولی می خوام به صورت یونیک و منحصر به فرد چیلتر بشه


Select dbo.export.codez,dbo.transfer_type.trans_name, dbo.export.id, dbo.export.date, dbo.export.too, dbo.export.noo
FROM dbo.transfer_type INNER JOIN
dbo.export ON dbo.transfer_type.id = dbo.export.transID


حالا می خوام این کوری به ازای هر dbo.export.codez ، یک سطر نمایش بده . انگار که یک Group By براش گذاشته باشیم

ممنون میشم راهنمایی بفرمایید

مهرداد صفا
دوشنبه 20 فروردین 1397, 16:13 عصر
سلام.
مساله اینجاست که شما در قبال یک codez ممکنه چند رکورد داشته باشید و باید مشخص بشه که از بین این رکورد ها چه اطلاعاتی برگردونده بشه.
فرض مثال ممکنه چند رکورد با codez یکسان داشته باشید که date های مختلف داشته باشند.
در این صورت مثلا می تونید با استفاده از تابع max آخرین تاریخ رو انتخاب کنید.



Select dbo.export.codez, max(dbo.transfer_type.trans_name), max(dbo.export.id),max( dbo.export.date) ,max( dbo.export.too),max( dbo.export.noo)
FROM dbo.transfer_type INNER JOIN
dbo.export ON dbo.transfer_type.id = dbo.export.transID
group by dbo.export.codez