saya coba bantu untuk memudahkan pemahaman ya ....
data yang ada di T_AWAL sebagai berikut:
perhatikan ID sudah ada yang loncat-loncat.
sekarang query mas MBA kita format dulu query-nya biar enak di baca:
SELECT D.ID, D.A, Abs([C].[A]-[D].[A]) AS B FROM ( SELECT C.* FROM ( SELECT A.ID, A.A, (SELECT COUNT(B.ID) FROM T_AWAL B WHERE B.ID<=A.ID) AS NOURUT FROM T_Awal A ) AS C ) AS C RIGHT JOIN ( SELECT D.* FROM ( SELECT A.ID, A.A, (SELECT COUNT(B.ID) FROM T_AWAL B WHERE B.ID<=A.ID) -1 AS NOURUT FROM T_Awal A ) AS D ) AS D ON C.NOURUT = D.NOURUT;
select query bisa mengambil dari tabel, bisa juga mengambil dari sub query. kalau format html email bisa anda terima, maka script diatas berwarna merah dan biru.
yang merah saya cut dan simpan sebagai query bernama C:
Anda perhatikan, mas eddy telah berhasil memberikan nomor urut yang urut bener-bener urut terurut.
Setelah itu bagian text yang ungu dari query di atas saya simpan sebagai query D:
Nah sekarang perhatikan nomor urutnya, sudah bergeser satu ke bawah bukan. dengan demikian kita sudah bisa bikin query final untuk menemukan selisih dua A yang berurutan dengan melink-nya melalui field nomor urut. Querynya menjadi:
atau:
hasilnya:
aksan kurdin
On 11/1/2010 4:35 AM, MBA wrote:
SELECT D.ID, D.A, Abs([C].[A]-[D].[A]) AS B
FROM [SELECT C.*
FROM [SELECT A.ID, A.A,(SELECT COUNT(B.ID) FROM T_AWAL B WHERE B.ID<=A.ID) AS NOURUT
FROM T_Awal A]. AS C]. AS C RIGHT JOIN [SELECT D.*
FROM [SELECT A.ID, A.A,(SELECT COUNT(B.ID) FROM T_AWAL B WHERE B.ID<=A.ID) -1 AS NOURUT
FROM T_Awal A]. AS D]. AS D ON C.NOURUT = D.NOURUT;
Hasilnya sbb:
Monggo silahkan dicoba dan disimulasikan.
Salam hangat dan jabat erat,
Edy Wiyono - MBA
From: belajar-access@yahoogroups.com [mailto:belajar-access@yahoogroups.com] On Behalf Of Aksan Kurdin
Sent: Sunday, October 31, 2010 17:06
To: belajar-access@yahoogroups.com
Subject: Re: Bls: Bls: Bls: [belajar-access] tanya Query
yo zingkat-lah, wong nuliz-nya di android hp ..... :)
ini yang versi panjang .... :)
dari tabel t_awal, kita ingin membentuk satu field yang merupakan selisih dari field A yang sekarang dengan field A di record sebelumnya.
Maka dari itu saya ilustrasikan query2, field ID dan A mengambil dari tabel t_awal
field b adalah field A di posisi persis record sebelumnya.
field c adalah final hasil selisih A dan B.
menentukan field ID, A, dan C sangat gampang, yang susah, apalagi jika tahap masih di newbie, adalah menentukan field B, karena sudah masuk dalam topik advanced query.
secara umum, bentuk query adalah sebagai berikut:
select
id,
a,
<<nilai a di record sebelumnya di posisi sekarang - 1>> as b,
a - b as c,
from t_awal
b adalah sub query ....
bagaimana ? sampai di sini bisa ditangkap ?
sudah ada yang bisa memecahkannya ?
ayo balapan ......
aksan kurdin
On 10/31/2010 2:40 PM, monas monas wrote:
jawabnya singkat ya pak?? weheheheh
tapi dari siapapun tar petunjuknya, saya sampaikan terima kasih banyak
Mohon saya di beri petunjuk plus kenapa pake cara tersebut, biar saya dapat ilmu nya, bukan barang jadi nya, kalo dapat ilmu nya biasanya lamaaaa masih ingat
Salam jabat erat
Dari: aksankurdin <aksan.kurdin@gmail.com>
Kepada: belajar-access@yahoogroups.com
Terkirim: Ming, 31 Oktober, 2010 09:38:21
Judul: Re: Bls: Bls: [belajar-access] tanya Query
Nah, sekarang mas MBA udah boleh bersuara lagi..... :)
Aksan Kurdin
P.s. Lagi nemenin anak di kolam renang marinir, tdk di depan komputer......
--- In belajar-access@yahoogroups.com, monas monas <jaken_05@...> wrote:
>
> Pak Aksan , mohon saya di beri petunjuk dikit. Sepertinya langkah saya di query
> mentok jika ada data yang di hapus. dimana nanti nya data nya ga urut lagi atau
> acak2an. sepertinya saya gak bisa menggunakan ID yang auto number itu sebagai
> patokan
> Saya pikir saya harus buat Query (atau yang lain )  baru yang menyatakan no urut
> baru setiap kali data di tabel di Load. Tapi bingung lagi cara nya maklum newbie
> pak. Kayaknya harus ada tabel baru yang di jadikan patokan dalam perhitunganya
> Tapi gmana ya caranya biar tiap di klik tombol, bisa menciptakan tabel baru tadi
> ???? Waah.... tambah rumit pak
> Mhn penjelasan, apa langkah saya sudah benar ?
> Mhn bimbinganya..
> Salam jabat erat
>
>
>
>
> ________________________________
> Dari: Aksan Kurdin <aksan.kurdin@...>
> Kepada: belajar-access@yahoogroups.com
> Terkirim: Sel, 26 Oktober, 2010 07:52:34
> Judul: Re: Bls: [belajar-access] tanya Query
>
> Â
> yak apa cak ?
> gak penasaran terhadap kembangan kasus-nya ?
>
> aksan kurdin
>
> On 10/24/2010 7:38 PM, aksankurdin wrote:
> Â
> >terus pertanyaan selanjutnya, monas jaken_05, kalau dari deretan id tersebut
> >yang urut (naik 1), ada record yang di hapus, misalnya record 2 di hapus,
> >sehingga id menjadi 1,3,4,5, ...., gimana dong bentuk querynya ?
> >
> >aksan kurdin
> >p.s. mas mba diem dulu, gantian si monas yang kita kasih tugas ...
> >hehehehe......
> >
> >--- In belajar-access@yahoogroups.com, monas monas <jaken_05@> wrote:
> >>
> >> Terima aksih banyak atas bantuan pak Edi,sangat bermanfaat buat saya pribadi,
>
> >> semoga jadi amal baik pak Edi
> >> Dulu nya saya pikir saya harys pakai fungsi DLookup. Emg kalo newbie banyak
> >> salahnya ya Pak
> >> Salam hangat dan jabat erat
> >>
> >>
> >>
> >>
> >> ________________________________
> >> Dari: MBA <murid.belajaraccess@>
> >> Kepada: belajar-access@yahoogroups.com
> >> Terkirim: Sab, 23 Oktober, 2010 19:11:28
> >> Judul: RE: [belajar-access] tanya Query [1 Attachment]
> >>
> >> ÂÂ
> >> [Attachment(s) from MBA included below]
> >> SELECT
> >>       A.*,
> >>       Abs([A]-(Select A From T_Awal Where T_Awal.ID=A.ID-1)) AS B
> >>                         FROM [SELECT T_Awal.ID,
> >>T_Awal.A
> >> FROM T_Awal
> >> ]. AS A;
> >> ÂÂ
> >> Simpan sebagai Query1 misalnya.
> >> ÂÂ
> >> Salam Hangat dan Jabat Erat,
> >> Edy Wiyono - MBA
> >> ÂÂ
> >> ÂÂ
> >> From:belajar-access@yahoogroups.com [mailto:belajar-access@yahoogroups.com] On
> >
> >> Behalf Of monas monas
> >> Sent: Saturday, October 23, 2010 07:24
> >> To: belajar-access@yahoogroups.com
> >> Subject: [belajar-access] tanya Query [1 Attachment]
> >> ÂÂ
> >> ÂÂ
> >> [Attachment(s) from monas monas included below]
> >> Salam Jabat Erat,
> >> Newbie muncul dan bertanya lagi, mohon pencerahan dari para pakar
> >> Saya punya tabel 'Tanya Query' terdapat field ID, field A
> >> Pertanyaan : Gimana cara nya bikin Query , yang terdapat field B yang
> >> merupakanselisih dari field terakhir di kurangi field atas nya dst
> >> Gambaran akhir nya spt T_Maunya ?
> >> gmana cara menghindari seandainya field B kolom pertama yang kosong menyebabkan
> >>
> >> error?
> >> mohon pencerahan para pakar
> >> ÂÂ
> >> Terima kasih banyak atas bantuan
> >>
> >
> >
>
No comments:
Post a Comment