Kueri Anda memiliki grup demi klausa. Jika Anda menggunakan klausa grup demi grup dalam kueri, maka setiap kolom dalam pernyataan pilih harus melakukan salah satu dari dua hal - baik itu harus menjadi bagian dari grup berdasarkan daftar, atau harus berupa agregat dari beberapa jenis (Jumlah , Hitung, Rata-Rata, Maks, dll). Jika Anda tidak melakukan ini, SQL tidak tahu apa yang harus dilakukan dengan kolom. Dalam kasus Anda, Accounts.regno dan Accounts.model terdaftar di pilih, tetapi mereka tidak berada dalam kelompok demi klausa dan mereka bukan agregat - karenanya kesalahan Anda.
Asumsikan untuk saat ini Anda memiliki dua catatan akun dengan nama akun dan slacc yang sama, tetapi Regno (atau model) yang berbeda. Kelompok demi klausa mengatakan mereka harus digabungkan menjadi satu catatan untuk ditampilkan, tetapi Anda belum memberi tahu SQL cara melakukannya. Tidak masalah jika datanya tidak seperti itu, SQL mencari kemungkinan kesalahan terlebih dahulu.
Dalam hal ini, Anda mungkin hanya ingin semua detail dikelompokkan. Cara paling sederhana adalah dengan memastikan Anda menambahkan semua kolom yang diperlukan ke grup, seperti ini
select Accounts.name, Accounts.regno, Accounts.model, Accounts.slacc, count(servicing.dt) as total
from Accounts
left outer join servicing on Accounts.slacc = servicing.slacc
group by Accounts.slacc, Accounts.name, Accounts.regno, Accounts.model
Ini akan memperbaiki kesalahan, tetapi melakukan pengelompokan tambahan yang tidak Anda perlukan, dan akan menjadi sangat rumit jika Anda memiliki lebih banyak kolom yang Anda inginkan dari akun, karena Anda harus menambahkan semuanya. Cara lain untuk menanganinya adalah dengan menggunakan jumlah kolom minimum untuk kueri grup, lalu gabungkan hasilnya ke kueri utama Anda untuk mendapatkan kolom lainnya. Ini mungkin akan terlihat seperti ini
select Accounts.name, Accounts.regno, Accounts.model, Accounts.slacc, Totals.Total
from Accounts
left outer join
( Select slacc, count(dt) as total
from servicing
group by slacc
) Totals on Totals.slacc = Accounts.slacc