sql, java. Je demande conseil.
某草草
某草草 2017-06-28 09:22:29
0
1
801

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;

某草草
某草草

répondre à tous(1)
为情所困

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;
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal