Hari ini saya menghadapi sebuah situasi yang cukup menarik ketika sedang mengambil karakter tertentu dari sebuah field dan ingin menampilkannya dengan menggunakan pernyataan SELECT DISTINCT di database MySQL. Misalkan saja kita sudah mempunyai ribuan record di dalam sebuah tabel dan ingin mengambil karakter tertentu dari awal hingga posisi tertentu yang dihitung sebanyak 6 karakter dari sebelah kanan dari semua karakter di field tadi, lalu menampilkannya dengan menggunakan pernyataan SELECT DISTINCT. Lalu, apa yang akan Anda lakukan? Baiklah, berikut ini solusi yang saya buat di database MySQL.
Mari kita lihat contoh berikut. Kita sudah memiliki sekitar 6 ribu record di sebuah tabel yang bernama mytable. Misalkan di salah satu field yang bernama myfield memiliki nilai yang berbeda tapi dengan struktur tertentu.
Sebagai contoh:
JAKARTA 10120 JAKARTA 10120 JAKARTA 10246 JAKARTA 10710 JAKARTA 11721 JAKARTA 11842 JAKARTA 12210 JAKARTA 12714 JAKARTA 13220 JAKARTA 13562 JAKARTA 13587 JAKARTA 14210 BOGOR 16125 BOGOR 16219 BOGOR 16242 BOGOR 16255 TANGERANG 15124 TANGERANG 15125 TANGERANG 15233 BEKASI 17121 BEKASI 17131 BEKASI 17142 BEKASI 17145 BEKASI 17233 ...
lalu, saya ingin menampilkan hanya nilai kota yang unik saja, seperti di bawah ini:
JAKARTA BOGOR TANGERANG BEKASI
Dengan kata lain, kita mengabaikan nilai kodepos dan hanya mengambil nilai kota yang unik. Inilah skrip SQL yang saya gunakan untuk mendapatkan nilai kota yang unik tadi:
SELECT DISTINCT(SUBSTR(myfield, 1, LENGTH(myfield)-6)) FROM `mytable`;
Skrip SQL tersebut memerintahkan MySQL untuk melakukan:
“Ambil nilai yang unik dari field myfield dimulai dari karakter pertama sampai posisi karakter keenam yang dihitung dari sebelah kanan field tersebut”.
Anda dapat melihat bahwa kita telah menyertakan tiga kata kunci khusus di skrip SQL tadi:
- DISTINCT, kata kunci ini memiliki maksud untuk mendapatkan nilai yang unik dari sekumpulan record yang kemungkinan memiliki nilai yang sama.
- SUBSTR, kata kunci ini memiliki maksud untuk mendapatkan karakter tertentu dari field tertentu yang dimulai dari posisi tertentu sampai posisi terakhir yang bisa kita tentukan
- LENGTH, kata kunci ini memiliki maksud untuk mendapatkan berapa banyak karakter yang terdapat di dalam sebuah field.
Skrip SQL tersebut berhasil saya coba di MySQL versi 5.0.51b yang diinstall satu paket dengan WAMPSERVER versi 2.0.

kaloo di database access gmna tuh scriptnya ?