Count Multiple Field di PostgreeSQL

Disini saya akan bahas kembali mengenai count multiple di postgreesql, disini saya menggunakan query ini untuk mencari apakah ada data yang sama di dalam database.
Contoh kasus :

saya memiliki 1 tabel dengan nama data_nasabah yang isinya 3 field yaitu :
– idnasabah
– nama_nasabah
– nomor_nasabah

saya mau mencari apakah ada nama nasabah dan nomor nasabah yang sama. misalkan ada data :

idnasabah : 1
nama_nasabah : maya
nomor_nasabah :  A445 

idnasabah : 2
nama_nasabah : putri
nomor_nasabah : A775

Saya mau memasukan data tetapi data yang saya masukan tidak boleh ada didalam database data_nasabah, misalkan jika saya memasukan :

idnasabah : 3
nama_nasabah : budianduk
nomor_nasabah : A990
Maka data tersebut masuk, karena data tersebut sebelumnya belum ada didalam data_nasabah

tapi kalo saya ingin memasukan data :

idnasabah : 3
nama_nasabah : maya
nomor_nasabah : A445
maka querynya berkata, bahwa data tersebut sudah ada didalam tabel, data tersebut ada 1 data.

Berikut querynya :

SELECT nomor_nasabah,
       sum(case when nama_nasabah  = ‘maya’ then 1 else 0 end) as namanasabah,
       sum(case when  nomor_nasabah  = ‘A445’ then 1 else 0 end) as nonasabah
  from data_nasabah
 group by nomor_nasabah

 maka yang tampil nantinya adalah

namanasabah | nonasabah
1 | 1
0 | 0

Itu menandakan bahwa data pertama namanasabahnya maya ada 1 dengan nomor nasabahnya yang sama ada 1, dan untuk data ke2 namanasabah di database adalah putri sedangkan yang dimasukan adalah maya maka datanya 0 artinya data tidak ada.

Semoga mudah dipahami dan bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *