Maison  >  Questions et réponses  >  le corps du texte

sql, java. Je demande conseil.

Pourquoi dois-je utiliser le numéro d'entreprise et le numéro d'utilisateur pour interroger tous les départements et le nombre de personnes sous le département, et une seule donnée est renvoyée
La conception de la table de base de données est la suivante : la table utilisateur et la table d'entreprise ne font qu'un ? à un, et la table d'entreprise et la table de département sont un à plusieurs Oui,
Voici le SQL que j'ai écrit :

SELECT count(c.id) AS userCount,
b.company_id AS companyId,
b.`name` AS `name`

DE

company_branch b

REJOIGNEZ À GAUCHE company_personnel_file c ON c.branch_id = b.id
ET c.user_id =55
ET c.

1 = 1

ET b.company_id =10043

GROUP BY

b.id

LIMITE 0,

10;

某草草某草草2694 Il y a quelques jours762

répondre à tous(1)je répondrai

  • 为情所困

    为情所困2017-06-28 09:24:29

    Comme vous n'avez pas expliqué les noms de table de la table d'entreprise et de la table du département, et qu'il n'y a qu'une seule table liée à l'entreprise ou au département dans le SQL, je ne peux que deviner qu'il s'agit de la table du département.
    Sur la base de cette hypothèse, parlons de votre SQL. Votre SQL a les problèmes suivants :

    1. Votre WHERE 1 = 1 n'est pas nécessaire

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

    Le SQL modifié est le suivant :

    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;

    répondre
    0
  • Annulerrépondre