成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

sql,java 跪求大神指點(diǎn)

瀏覽:117日期:2023-10-24 18:05:23

問題描述

為什么我用企業(yè)編號和用戶編號查詢?nèi)坎块T及部門下的人數(shù),返回的數(shù)據(jù)只有一條,數(shù)據(jù)庫表設(shè)計(jì)是:用戶表和企業(yè)表是一對一的,企業(yè)表和部門表是一對多的,以下是我寫的sql:

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

FROM

company_branch b

LEFT JOIN company_personnel_file c ON c.branch_id = b.idAND c.user_id =55AND c. STATUS = 1WHERE

1 = 1

AND b.company_id =10043GROUP BY

b.id

LIMIT 0, 10;

問題解答

回答1:

由于你沒有說明,企業(yè)表和部門表的表名是什么,而且SQL中只出現(xiàn)了一個和企業(yè)或部門有關(guān)的表,我只能猜測它是部門表。基于這個假設(shè),來說下你的SQL。你的SQL有以下幾個問題:

你的WHERE 1 = 1是不需要的

LEFT JOIN里的ON語句,是用來限定左聯(lián)上來的這個表的數(shù)據(jù)的,而不是用來限定結(jié)果數(shù)據(jù)的,要限定結(jié)果數(shù)據(jù)的話得用WHERE子句

修改后的SQL如下:

SELECT COUNT(c.id) userCount, b.company_id companyId, b.name nameFROM company_branch bLEFT JOIN company_personnel_file c ON c.branch_id = b.idWHERE c.user_id = 55 AND c.STATUS = 1 AND b.company_id = 10043GROUP BY b.idLIMIT 0, 10;

標(biāo)簽: java
相關(guān)文章: