代码之家  ›  专栏  ›  技术社区  ›  cristopher donaldo

SQL创建包含sum和2个表的视图

  •  0
  • cristopher donaldo  · 技术社区  · 2 年前

    我有以下表格:

    项目:

    ProjID Projekt
    11     A
    12     B
    13     C
    

    个人的

    PID Person
    1   Hans
    2   Rolf
    3   Ursula
    4   Paul
    

    Zugehoerigkeit项目

    PID ProjID  ProjZeit
    1     11    60
    1     12    40
    2     13    100
    3     11    20
    3     12    50
    3     13    30
    4     11    80
    4     13    20
    

    我正在尝试创建一个视图,该视图显示项目表中的me Projekt和projectzugehoerigkeit中的ProjZeit之和。

    应该是这样的:

    Projekt ProjektStundenInsgesamt
    A       160
    B       90
    C       150
    

    我试过这个:

    CREATE VIEW ueberblick1 AS 
    
    SELECT project.Projekt, SUM(projektzugehoerigkeit.ProjZeit) AS ProjektStundenInsgesamt 
    FROM project, projektzugehoerigkeit 
    GROUP BY project.Projekt;
    

    但它总是这样:

    Projekt ProjektStundenInsgesamt
    A       400
    B       400
    C       400
    

    非常感谢。

    1 回复  |  直到 2 年前
        1
  •  0
  •   Hogan    2 年前

    这不是进行连接的正确方法

    SELECT project.Projekt, SUM(projektzugehoerigkeit.ProjZeit) AS ProjektStundenInsgesamt 
    FROM project, projektzugehoerigkeit 
    GROUP BY project.Projekt;
    

    在项目和projektzugehoerigkeit之间进行交叉连接

    你需要像这样真正的加入

    SELECT project.Projekt, SUM(projektzugehoerigkeit.ProjZeit) AS ProjektStundenInsgesamt 
    FROM project
    JOIN projektzugehoerigkeit on project.projid = projektzugehoerigkeit.projid
    GROUP BY project.Projekt;