Permintaan kedua Anda jauh lebih baik untuk ditulis sebagai:
select bzq_terminate_provider as PROVIDER, sum(callsnum) as CALLS,
sum(charge_amount) as CHARGE, sum(at_call_dur_sec) as DUR
from usage_cycle_sum
where ban = '80072922' and ben = '1' and
subscriber_no = '036585305' and
start_cycle_code ='20150207' and
feature_code_rank in ('1', '2')
group by bzq_terminate_provider ;
Atau, mungkin select
harus:
select bzq_terminate_provider as PROVIDER,
sum(case when feature = '1' then callsnum else 0 end) as CALLS,
sum(charge_amount) as CHARGE,
sum(case when feature = '1' then at_call_dur_sec else 0 end) as DUR
(Versi pertama mengasumsikan bahwa bidang-bidang tersebut di-nolkan di subquery kedua karena mereka NULL
dalam data, tapi itu mungkin tidak benar.)
Namun, perangkat lunak aplikasi belum cukup pintar untuk mengidentifikasi pertanyaan yang ditulis dengan canggung, jadi itu bukan masalah sebenarnya yang Anda hadapi. Jika kueri berfungsi di database, tetapi tidak di aplikasi, maka masalah umum adalah:
- Aplikasi tidak terhubung ke database yang benar.
- Aplikasi tidak memiliki izin pada database atau tabel.
- Kueri aplikasi berbeda dari kueri yang dijalankan di database, biasanya karena beberapa masalah substitusi.
- Hasil dari menjalankan kueri dalam aplikasi tidak ditafsirkan dengan benar.