/* */

Wednesday, November 23, 2011

[belajar-access] Re: MAX, BY GROUP dan memilih ID rekor

 

saya cuma bisa menduga-duga, karena gak ada tabel dan data dummy-nya. jadi mungkin sbb:

tabel @t di dapat dari query sbb.

SELECT
Tabel3.NEAR_FID,
Tabel3.IN_FID,
Tabel3.NEAR_DIST,
Tabel3.MAngin
FROM Tabel1
INNER JOIN
Tabel2
ON Tabel1.ORIG_FID = Tabel2.ORIG_FID
INNER JOIN
Tabel3
ON Tabel1.IDJoin = Tabel3.IdJoin

jadi coba di setiap yang ada @t-nya ganti saja dengan query di atas.
:) :)

hasilnya sbb:

SELECT A.NEAR_FID,B.* FROM
(SELECT
Tabel3.NEAR_FID,
Tabel3.IN_FID,
Tabel3.NEAR_DIST,
Tabel3.MAngin
FROM Tabel1
INNER JOIN
Tabel2
ON Tabel1.ORIG_FID = Tabel2.ORIG_FID
INNER JOIN
Tabel3
ON Tabel1.IDJoin = Tabel3.IdJoin) A
INNER JOIN
(
SELECT IN_FID,MANGIN,MAX(NEAR_DIST) AS DATA FROM
(SELECT
Tabel3.NEAR_FID,
Tabel3.IN_FID,
Tabel3.NEAR_DIST,
Tabel3.MAngin
FROM Tabel1
INNER JOIN
Tabel2
ON Tabel1.ORIG_FID = Tabel2.ORIG_FID
INNER JOIN
Tabel3
ON Tabel1.IDJoin = Tabel3.IdJoin)
GROUP BY IN_FID,MANGIN
) B
ON A.IN_FID=B.IN_FID AND A.MANGIN=B.MANGIN AND A.NEAR_DIST=B.DATA ORDER BY
A.NEAR_FID

silahkan di coba ya.

--- In belajar-access@yahoogroups.com, Zakirman Ibros <zibros1@...> wrote:
>
> Terima Kasih atas solusinya Pak Edy, MANTAB.
>
> saya sudah coba dan hasilnya OK,
>
> Ada yang mau saya lanjutin
>
> Sebenarnya Tabel yang saya contohkan tersebut merupakan hasil Query dari tiga tabel, saya coba memodifikasi Query yang Bapak kasih, tapi belum bisa, 
> kecuali dalam 2 langkah Query, bagaimana caranya supaya dalam satu Query ini Querynya:
>
> Hasil dari DataTbl
>
> SELECT Tabel3.NEAR_FID, Tabel3.IN_FID, Tabel3.NEAR_DIST, Tabel3.MAngin
> FROM (Tabel1 INNER JOIN Tabel2 ON Tabel1.ORIG_FID = Tabel2.ORIG_FID) INNER JOIN Tabel3 ON Tabel1.IDJoin = Tabel3.IdJoin
> ORDER BY Tabel3.IN_FID DESC , Tabel3.NEAR_DIST DESC;
>
> Thanks, Salam angat Juga
> Zibros
>
>
> ________________________________
> From: Edy <murid.belajaraccess@...>
> To: belajar-access@yahoogroups.com
> Sent: Monday, December 19, 2011 12:19 PM
> Subject: [belajar-access] Re: MAX, BY GROUP dan memilih ID rekor
>
>
>  
> Sedikit tambahan.
> Biar tampilan sesuai urutan NEAR_FID, ditambahkan di akhirnya
> ORDER BY
> A.NEAR_FID
>
> Sehingga sql-nya jadi sbb:
>
> SELECT A.NEAR_FID,B.* FROM @T A
> INNER JOIN
> (
> SELECT IN_FID,MANGIN,MAX(NEAR_DIST) AS DATA FROM @T
> GROUP BY IN_FID,MANGIN
> ) B
> ON A.IN_FID=B.IN_FID AND A.MANGIN=B.MANGIN AND A.NEAR_DIST=B.DATA
> ORDER BY
> A.NEAR_FID
>
> --- In belajar-access@yahoogroups.com, "Edy" <murid.belajaraccess@> wrote:
> >
> > Misalnya, nama tabelnya @T
> >
> > Silahkan coba query berikut ini.
> >
> >
> > SELECT A.NEAR_FID,B.* FROM @T A
> > INNER JOIN
> > (
> > SELECT IN_FID,MANGIN,MAX(NEAR_DIST) AS DATA FROM @T
> > GROUP BY IN_FID,MANGIN
> > ) B
> > ON A.IN_FID=B.IN_FID AND A.MANGIN=B.MANGIN AND A.NEAR_DIST=B.DATA
> >
> >
> > salam hangat dan jabat erat,
> >
> > Edy Wiyono
> >
> >
> > --- In belajar-access@yahoogroups.com, Zakirman Ibros <zibros1@> wrote:
> > >
> > > Mohon bantuan:
> > >
> > > Bagaimana cara buat Query yang dapat menampilkan nila MAX, GROUP dan ID yang merupakan Primary Key.
> > >
> > > Saya mencoba untuk menggunakan FIRST atau LAST tetapi ternyata fungsi ini memilih yang akhir atau awal dalam urutan rekor, sementara rekor yang saya diinginkan lokasinya acak.
> > >
> > > Ini gambaran datanya:
> > >
> > > NEAR_FID    IN_FID    NEAR_DIST                   MAngin
> > > 1                  2       931.648207118691                        U2                  2       1116.54926872004                        T
> > > 3                  2       892.230579551041                        T
> > > 4                  2       925.854009319451                        S
> > > 5                  2       990.799258348377                        S
> > > 6                  2       958.285311671883                        B
> > > 7                  2       1184.95117820847                        B
> > > 8                  2       979.89939967956                         U
> > > 9                  2       931.648207118691                        U
> > > 10                3       637.214970151922                        B
> > > 11                3       453.77369093366                         B
> > > 12                3       924.457771711512                        B
> > > 13                3       812.451607032364                        U
> > > 14                3       826.222348998176                        U
> > > 15                3       885.546349977063                        T
> > > 16                3       997.579790073901                        T
> > > 17                3       812.773481150037                        S
> > > 18                3       637.70151922 348                        S
> > >
> > > saya membutuhkan data yang dihighligt dan bold, yang baru saya lakukan adalah 
> > >
> > > SELECT DataTbl.IN_FID, Max( DataTbl .NEAR_DIST) AS MaxOfNEAR_DIST, DataTbl .MAngin
> > > FROM DataTbl
> > > GROUP BY DataTbl .IN_FID, DataTbl .MAngin;
> > >
> > >
> > > tapi bagaimana cara memilih NEAR_FID
> > >
> > > Salam
> > > Zibros
> > >
> >
>

__._,_.___
Recent Activity:
SPAM IS PROHIBITED
MARKETPLACE

Stay on top of your group activity without leaving the page you're on - Get the Yahoo! Toolbar now.

.

__,_._,___

No comments:

Post a Comment