Adakah saya menggunakan kaedah sambungan yang betul di sini? Cuba mencari di mana masalahnya dalam kod. Cuba tukar cantuman dalam, luar dan kanan, hanya untuk mencubanya.
SELECT users.region, count(internal_profile_views.user_id) from users Left JOIN internal_profile_views ON users.id = internal_profile_views.user_id AND users.id = internal_profile_views.viewed_user_id GROUP BY users.region;
Struktur jadual: https://i.stack.imgur.com/nFUZO.jpg
Keluaran yang saya dapat:
Barat 0 Timur Laut 0 Selatan 0 Lain-lain 0 Midwest 0
Bergantung pada skema anda, nampaknya
internal_profile_views
mewakili jadual M:N antara profil pengguna dan pengguna yang melihat profil tersebut.Dalam kes ini, baris dalam
internal_profile_views
中具有相同的user_id
和viewed_user_id
dengan nilaiuser_id
danviewed_user_id
bermakna pengguna sedang melihat profil mereka sendiri dan baris dengan nilai yang berbeza bermakna pengguna sedang melihat maklumat Orang lain.Dalam penyata penyertaan anda, anda menggunakan syarat di mana
user_id
和viewed_user_id
必须匹配相同的users.id
rekod boleh dimasukkan ke dalam keputusan. Kemungkinan besar anda hanya berniat untuk menyertai satu lajur, bukan dua.Berdasarkan ini, pertanyaan anda mungkin salah satu daripada yang berikut: