У меня есть таблица, и я хочу отображать только те отделы, в которых есть хотя бы один зарегистрированный пользователь. Мой запрос ниже:Где предложение с суммарной суммой в sql-запросе
SELECT departments.id as DepartmentID,
departments.depName as DepartmentName,
SUM(IF(users.isDelete=0, 1, 0)) AS NumberOfUsers
FROM (myDB.departments)
LEFT JOIN myDB.users ON departmentID=departments.id
AND `departments`.`isDelete` = 0
HAVING SUM(NumberOfUsers) >=0
HAVING SUM(NumberOfUsers) >=0
не работает вообще. Я хотел бы проверить, является ли NumberOfUsers
более чем одним, а затем отображать его, если не более одного, а затем не отображать его. Какие-либо предложения?
Более одного из них: «ИМЕЕТ СУММУ (NumberOfUsers)> = 1' – Jens
Уважаемый, это Sql Server или My Sql? –
Ваша работа работает отлично, а не совсем. Вы просто написали это неправильно. Вы хотите> 0 и не> = 0. Кроме того, пользователи numbe rof уже суммированы, поэтому используйте HAVING NumberOfUsers> 0. Также группировка. также может выполнять внутреннее соединение и использовать там, где users.numberofusers> 0. – AdrianBR