Rumah  >  Soal Jawab  >  teks badan

sql, java saya mohon bimbingan.

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;

某草草某草草2644 hari yang lalu732

membalas semua(1)saya akan balas

  • 为情所困

    为情所困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:

    1. WHERE 1 = 1 anda tidak diperlukan

    2. LEFT JOIN里的ON语句,是用来限定左联上来的这个表的数据的,而不是用来限定结果数据的,要限定结果数据的话得用WHEREklausa

    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;

    balas
    0
  • Batalbalas