gpt4 book ai didi

sql - 从多个表中选择count(*)来创建 View

转载 作者:行者123 更新时间:2023-12-02 13:07:11 25 4
gpt4 key购买 nike

如何从两个不同的表中选择 count(*) 来创建 View ?

有表格:

部门表

  • 部门编号
  • DNAME
  • LOC

电磁脉冲表

  • EMPNO
  • ENAME
  • 工作
  • MGR
  • 聘用日期
  • SAL
  • 通讯
  • 部门编号

我已经尝试过:

CREATE VIEW PLACE
AS SELECT d.Loc CITY, count(d.Deptno) N_DEPT, count(e.Empno) N_EMP
FROM Dept d, Emp e
where d.Deptno = e.Deptno
GROUP BY d.Loc, d.deptno;

得到了这个:

CITY          N_DEPT   N_EMP
CHICAGO 6 6
DALLAS 5 5
NEW YORK 3 3

每个城市只有 1 个 N_DEPT,所以结果是错误的:/.应该有:

CITY          N_DEPT   N_EMP
CHICAGO 1 6
DALLAS 1 5
NEW YORK 1 3

最佳答案

使用DISTINCT,尝试

CREATE VIEW PLACE
AS
SELECT d.Loc CITY,
count(DISTINCT d.Deptno) N_DEPT,
count(e.Empno) N_EMP
FROM Dept d
INNER JOIN Emp e
ON d.Deptno = e.Deptno
GROUP BY d.Loc

关于sql - 从多个表中选择count(*)来创建 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13902102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com