Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将左连接写入子查询_Mysql_Sql - Fatal编程技术网

Mysql 将左连接写入子查询

Mysql 将左连接写入子查询,mysql,sql,Mysql,Sql,如何将这个左连接查询作为子查询 SELECT d.department, COUNT(e.employeeid) FROM department d LEFT JOIN employee e ON d.id = e.employeeid GROUP BY d.department ORDER BY d.department; 这是我尝试过的,但不起作用 SELECT d.department FROM department AS d HAVING COUNT(e.employeeid)

如何将这个左连接查询作为子查询

SELECT d.department, COUNT(e.employeeid)
FROM department d
LEFT JOIN employee e 
   ON d.id = e.employeeid
GROUP BY d.department
ORDER BY d.department;
这是我尝试过的,但不起作用

SELECT d.department
FROM department AS d
HAVING COUNT(e.employeeid) > 1
(
SELECT COUNT(e.employeeid)
FROM employee AS e
WHERE d.id = e.employeeid
);

将相关子查询放入选择列表中

SELECT d.department,
       (select COUNT(e.employeeid) from employee e where d.id = e.employeeid)
FROM department d
ORDER BY d.department
也许您需要执行
选择DISTINCT
以避免重复行


编辑:连接条件似乎有点奇怪。它不应该是
d.id=e.departmentid
或类似的吗?

在选择列表中放置一个相关的子查询

SELECT d.department,
       (select COUNT(e.employeeid) from employee e where d.id = e.employeeid)
FROM department d
ORDER BY d.department
也许您需要执行
选择DISTINCT
以避免重复行


编辑:连接条件似乎有点奇怪。应该是
d.id=e.departmentid
或类似的吗?

谢谢,你的帖子帮了我很多忙。我终于让它工作了。我想join语句有点奇怪吧?我自己也不确定,但它很有效。谢谢,你的帖子帮了我很多忙。我终于让它工作了。我想join语句有点奇怪吧?我自己也不确定,但它确实有效。你到底想达到什么样的效果?子查询的效率通常低于等效联接。如果您只希望部门有多个员工,您可以使用第一个查询中第二个查询的HAVING?子查询的效率通常低于等效联接。如果您只希望部门有多个员工,那么可以使用第一个查询中第二个查询的HAVING。