Rumah > Soal Jawab > teks badan
Mengapa saya menggunakan nombor perusahaan dan nombor pengguna untuk menanyakan semua jabatan dan bilangan orang di bawah jabatan, dan hanya satu data dikembalikan
Reka bentuk jadual pangkalan data ialah: jadual pengguna dan jadual perusahaan adalah satu-? kepada-satu, dan jadual perusahaan dan jadual jabatan adalah satu-ke-banyak Ya,
Berikut ialah sql yang saya tulis:
SELECT count(c.id) AS userCount,
b.company_id AS companyId,
b.`name` AS `name`
DARI
company_branch b
KIRI SERTAI fail_kakitangan c DI c.id_cawangan = b.id
DAN c.id_pengguna =55
DAN c.STATUS = 1
WHERE
1 = 1
DAN b.company_id =10043
KUMPULAN OLEH
b.id
HAD 0,
10;
为情所困2017-06-28 09:24:29
Memandangkan anda tidak menerangkan nama jadual jadual perusahaan dan jadual jabatan, dan hanya terdapat satu jadual yang berkaitan dengan perusahaan atau jabatan dalam SQL, saya hanya boleh mengagak bahawa ia adalah jadual jabatan.
Berdasarkan andaian ini, mari kita bincangkan tentang SQL anda. SQL anda mempunyai masalah berikut:
WHERE 1 = 1
anda tidak diperlukan
LEFT JOIN
里的ON
语句,是用来限定左联上来的这个表的数据的,而不是用来限定结果数据的,要限定结果数据的话得用WHERE
klausa
SQL yang diubah suai adalah seperti berikut:
SELECT
COUNT(c.id) userCount,
b.company_id companyId,
b.name name
FROM
company_branch b
LEFT JOIN
company_personnel_file c ON c.branch_id = b.id
WHERE
c.user_id = 55 AND
c.STATUS = 1 AND
b.company_id = 10043
GROUP BY
b.id
LIMIT 0, 10;