Arsip: mencari data update pada tabel relasi?

more 16 years ago
dels
hi semua,
saya ada masalah ketika mengambil data update yg terdapat pada tabel relasi. masalahnya kira2 begini :
1. ada 2 tabel, tabel kendaraan (tkendaraan) dan tabel posisi (tposisi)
2. pada tabel kendaraan field2-nya antara lain (sisanya hanya pelengkap informasi):
- id_kendaraan (primary)
- id_pemilik (foreign ke tpemilik, tpemilik tdk terlalu penting saat ini)
3. pada tabel posisi field2-nya antara lain(sisanya hanya pelengkap informasi):
- id_posisi (primary)
- id_kendaraan (foreign)
- waktu
- posisi
yang diinginkan adalah mengambil data posisi terakhir dari tiap kendaraan yang dimiliki oleh seorang pengguna (mengacu ke id_pemilik), misal isi data :
tkendaraan
------------------------------
id_kendaraan | id_pemilik
------------------------------
D1234A | dels
D1234B | dels
D1234C | dels
-------------------------------
tposisi
-------------------------------------------------------------------
id_posisi | id_kendaraan | waktu | posisi
-------------------------------------------------------------------
1 | D1234A | 27/08/2008 12:00:00 | bandung
2 | D1234A | 27/08/2008 11:00:00 | bandung
3 | D1234B | 27/08/2008 13:00:00 | jakarta
4 | D1234C | 27/08/2008 12:00:00 | semarang
5 | D1234A | 27/08/2008 10:00:00 | bandung
6 | D1234C | 27/08/2008 11:00:00 | semarang
7 | D1111A | 27/08/2008 12:00:00 | semarang
8 | D2222B | 27/08/2008 10:00:00 | semarang
--------------------------------------------------------------------
cat : D1111A & D2222B bukan milik dels
hasil query yg diinginkan
-----------------------------------------------------------------------
id_pemilik | id_kendaraan | waktu | posisi
-----------------------------------------------------------------------
dels | D1234A | 27/08/2008 12:00:00 | bandung
dels | D1234B | 27/08/2008 13:00:00 | jakarta
dels | D1234C | 27/08/2008 12:00:00 | semarang
------------------------------------------------------------------------
cara biasa yg saya lakukan adalah:
1. mencari data2 kendaraan seorang pemilik, contoh disini pemilik = dels
SELECT FROM tpemilik WHERE id_pemilik = 'dels'
2. tampung semua data kendaraan yg cocok di stringlist ato listbox
3. cari data posisi teratas dari tiap2 kendaraan, contoh:
for i:=0 to (Listbox1.Items.Count-1) do
SELECT TOP 1 FROM tposisi WHERE id_kendaraan = '+ Listbox1.Items[i].Value +' yah kurang lebih bgtu
4. data yg sudah diambil ditampung ke stringlist/listbox lain
cara di atas memang sudah berhasil menampilkan hasil yg sesuai, tapi karena data posisi yg ada sangat banyak begitu pula data kendaraannya proses ini akan berlangsung amat lama, maka diperlukan cara lain yang lebih efisien sehingga diharapkan dapat mempercepat proses pengambilan data
solusi yg diharapkan:
- menggunakan murni SQL untuk mengambil hasil yg diharapkan, atau
- menggunakan view/storage procedure
pokoknya sebisa mungkin menghindari pemakain loop di kode Delphi
thanks :D

more 16 years ago
nizar
Kalo gini bisa gak ya?
SELECT TOP 1 * FROM tposisi WHERE id_kendaraan in
select id_kendaraan FROM tpemilik WHERE id_pemilik = 'dels'

more 16 years ago
madi
menggunakan fungsi join tuk query beberapa table..
contoh liat sendiri di http://www.w3schools.com

more 16 years ago
dels
@nizar: Kalo gini bisa gak ya? SELECT TOP 1 * FROM tposisi WHERE id_kendaraan in select id_kendaraan FROM tpemilik WHERE id_pemilik = 'dels'makasi mas, tar saya coba, klo ada hasil saya kasi tau
@madi: menggunakan fungsi join tuk query beberapa table.. contoh liat sendiri di http://www.w3schools.comada kode aktual-nya ga mas? saya sendiri sedikit tahu mengenai JOIN cuma yg saya bingung itu data yg diambil itu perkendaraan (klo semisal cuma 1 kendaraan sudah bisa)

more 16 years ago
madi
code aqtualnya disini yg mendekati tentunya....:D
http://www.w3schools.com/sql/sql_join.asp

more 16 years ago
dels
@madi: code aqtualnya disini yg mendekati tentunya....:D http://www.w3schools.com/sql/sql_join.asp:D maksud saya kode aktual seperti yg dikasi oleh mas nizar (yg sayangnya masi tidak sukses) thanks buat link ke W3Schools-nya tar saya coba2 jg sendiri :D ada lg yg bisa mecahin masalahnya?

more 16 years ago
madi
SELECT KENDARAAN.ID_PEMILIK, POSISI.ID_KENDARAAN, POSISI.WAKTU, POSISI.POSISI
WHERE KENDARAAN.ID_KENDARAAN = POSISI.ID_KENDARAAN AND KENDARAAN.ID_PEMILIK = 'dels'

more 16 years ago
nizar
ya sudah saya cobakan, ini sudah bisa kalau menggunakan access
SELECT tpemilik.id_pemilik, tposisi.id_kendaraan, First(tposisi.waktu) AS waktu, First(tposisi.lokasi) AS lokasi
FROM tpemilik INNER JOIN tposisi ON tpemilik.id_kendaraan = tposisi.id_kendaraan
GROUP BY tpemilik.id_pemilik, tposisi.id_kendaraan
more ...
- Pages:
- 1
reply |
Report Obsolete
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- firebird konfigurasi client server
by indobrainsoft in Tip n Trik Pemrograman more 16 years ago - mAsALah kCiL mU dTanYaiN LgI ? pLiz BanTu
by jajang in Hal umum tentang Pascal Indonesia more 16 years ago - bingung ama error pointer????
by g3ntonk in Enginering more 18 years ago - DTS MSSQL lewat delphi
by blurry in Hal umum tentang Pascal Indonesia more 17 years ago - fingerprint
by antcom in Network, Files, I/O & System more 16 years ago - resize image
by sulth4n in Multimedia & Graphic Enhancement more 19 years ago - Access Violation...bikin pusing 100 keliling :-(
by uron in Lain-lain more 13 years ago - Button clik jalan di xp, ngak jalan di win 2000 ? bantu donk
by Sutilkon in Tip n Trik Pemrograman more 17 years ago - Aplikasi konversi Biner desimal
by ilhuna in Hal umum tentang Pascal Indonesia more 14 years ago - tanya skin bro
by putra in Enginering more 19 years ago