Seperti yang pernah saya jelaskan sebelumnya bahwa TOP 1 hanya berlaku untuk MS Family. Walaupun memang secara kasus hal yang tidak lazim. Alternatif dari TOP 1 yang bisa di gunakan adalah menggunakan function RANK(). Dalam kasus ini Penanya menggunakan database MySQL yang mana saya ragu apakah bisa menggunakan TOP 1. Yang mana dengar-dengar TOP 1 dah kurang bagus, bagusan Motul atau Repsol :p.
----- Original Message ----- From: "Lai Min Feng" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Thursday, February 28, 2008 9:51 AM Subject: RE: [Programmer-VB] [Tanya] [VB] Masalah pada SELECT DISTINCT > walaupun tentunya selain cara distinct, bisa dengan select top 1 atau > dengan > max seperti yang sudah dikemukakan teman2 lain... > > tapi kalu kita cermati... kok sebenarnya dari kasus pertamanya udah agak > aneh ya... > >> Nah gwe mau data itu yang kesimpen cuman satu ajah (yang mana ajah) >> dengan > statement ini, malah masuk dua-duanya : xM = "Select Distinct ID, TglIn, > JamIn From Tabel Where ID='" & .Fields("ID") >> & "'" > > menurut saya kasus yang dikemukakan di select distinct pertama memang > benar.. hasilnya akan keluar semua... karena distinct bersama field > "jamin" > nya ya pasti keluar semua > >> Kalo gwe pake ini, data ngga masuk sama sekali : xM = "Select Distinct >> ID, > TglIn From Tabel Where ID='" & .Fields("ID") & "'" > >> Juga kalo pake ini, ngga masuk juga : xM = "Select Distinct ID From Tabel > Where ID='" & .Fields("ID") & "'" > > tapi untuk select distinct yang 2 lagi harusnya hasilnya jg keluar.. dan > harusnya seperti yang diinginkan bukannya gak ada hasilnya sama sekali ... > mgkn fields("ID") nya yang salah isi ? > atau ada kasus lain yang tidak dikemukakan ? > mgkn bisa copy paste disini syntax select sebenarnya yang digunakan ? > (karena kayanya dari contoh diatas itu sudah benar) > > > -----Original Message----- > From: [email protected] > [mailto:[EMAIL PROTECTED] Behalf Of vbPian > Sent: Thursday, February 28, 2008 9:25 AM > To: [email protected] > Subject: Re: [Programmer-VB] [Tanya] [VB] Masalah pada SELECT DISTINCT > > > Bung Gege Nugroho, saya coba bantu... > > Dari kasus yang anda hadapi sepertinya tidak bisa dipaksakan menggunakan > DISTICT karena clausa DISTINCT hanya akan menampilkan beberapa record yang > mempunyai isi data pada fieldnya sama - menjadi satu record, apalagi > jelas-jelas kalau informasi 'JamIn' nya ingin ada sementara isinya > berbeda, > meskipun data ID dan tanggalnya sama. > > Anda bisa coba dengan clausa lainnya, seperi contoh ini: > > SELECT ID, TglIn, Max(JamIn) AS Jam_In > FROM Tabel GROUP BY ID, Tanggal > HAVING ID='XXX' > > Note: SQL diatas akan mengambil jam masuk terakhir dari data yang double, > jika ingin mengambil data yang pertama tinggal ubah saja clausa Max > menjadi > Min > > Semoga itu yang anda maksud. > > > > > On 26/02/2008, Gege Nugroho <[EMAIL PROTECTED]> wrote: > > Guys... > Gwe punya masalah lage (yang kesekian kalinya :-)....) > > Kondisi Gwe gini: > Pake Visual Basic 6.0 SP 6.0 ActiveX > Database MySQL 5.0 > Tanpa komponent ADODC > > Saat nyimpen gwe punya data : > ID TglIn JamIn > 01 2008-02-20 15:00:00 > 01 2008-02-20 15:01:59 > > Nah gwe mau data itu yang kesimpen cuman satu ajah (yang mana ajah) > dengan statement ini, malah masuk dua-duanya : xM = "Select Distinct ID, > TglIn, JamIn From Tabel Where ID='" & .Fields("ID") & "'" > > Kalo gwe pake ini, data ngga masuk sama sekali : xM = "Select Distinct > ID, TglIn From Tabel Where ID='" & .Fields("ID") & "'" > > Juga kalo pake ini, ngga masuk juga : xM = "Select Distinct ID From > Tabel Where ID='" & .Fields("ID") & "'" > > Jadi intinya bagaimana menggunakan statement SELECT DISTINCT ini dimana > hanya menyortir satu data ID dan TGLIN ajah. > > Ato ada statement lain yah? > Trims yo... > > PS : Sori kalo tatabahasa gwe rada njelimet... hehehe > > dariyangbingungngambilsatudata > > > Regards > Gege Nugroho > > > ---------------------------------------------------------------------------- > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try > it now. > > > > > > -- > Best Regard >
