Beberapa artikel sebelumnya, Kita pernah membahas beberapa query mengenai JSON. Kali ini kita akan membahas query pencarian data JSON berdasarkan key name yang ada. Ok, langsung saja kita membahas cara pencariannya.
Pada case ini, kita menggunakan fungsi query tambahan yakni having . Value having berasal dari fungsi select sebelumnya dari proses JSON_EXTRACT. Berikut ini adalah 1 contoh data JSON yang akan kita gunakan :
{"sn":"0820892714","versi":"V2.0.0","type":"success","operator":"01"}
Pada contoh data di atas, terdapat 4 key name dan key value. Data tersebut berada pada table contoh dan field data. Kemudian kita akan mencoba untuk melakukan pencarian berdasarkan key name versi. Berikut codenya dari query tersebut :
select JSON_UNQUOTE(JSON_EXTRACT(data,"$.versi")) as nama_versi from contoh having nama_versi like '%keyword%';
Sedikit penjelasan pada query di atas. Pada fungsi select, kita menggunakan nama alias nama_versi sebagai hasil dari JSON_UNQUOTE. Setalh didapatkan, kita gunakan nama alias tersebut untuk mencari keyword dengan like. Sehingga, data yang terdapat keyword pencarian tersebut akan muncul.
Namun terdapat perbedaan query apabila menggunakan query builder. Semisal menggunakan framework Codeigniter. Maka harus ditambahkan fungsi group agar query builder tersebut dapat bekerja. Mungkin kita akan membahasnya pada artikel lainnya lagi.
Demikianlah penjelasan singkat mengenai Query Pencarian Data JSON Berdasarkan Key Name. Semoga bermanfaat untuk Anda.
Leave a Reply