Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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
Sql 合并在一个视图显示中选择_Sql_Sql Server - Fatal编程技术网

Sql 合并在一个视图显示中选择

Sql 合并在一个视图显示中选择,sql,sql-server,Sql,Sql Server,我需要知道如何在一个视图中组合多个SELECT语句?我尝试了UNION ALL,但失败了,因为我使用了unique列来聚合总计。 我是一名学生,这是一个小组项目的一部分 我有一个表,有4列:account、description、short_description和balance。COA(科目表)是导入的excel电子表格 CREATE VIEW [account_balance_sums] AS SELECT SUM(balance) AS total, SUBSTRING (A

我需要知道如何在一个视图中组合多个SELECT语句?我尝试了UNION ALL,但失败了,因为我使用了unique列来聚合总计。
我是一名学生,这是一个小组项目的一部分

我有一个表,有4列:account、description、short_description和balance。COA(科目表)是导入的excel电子表格

CREATE VIEW [account_balance_sums]
AS
  SELECT SUM(balance) AS total,   
  SUBSTRING (Account,0,2) AS account_group
    FROM COA
    GROUP BY account_group
GO


 SELECT * FROM [account_balance_sums]
 SELECT SUM(total) AS Grand_total
 FROM [account_balance_sums]

在工会声明中,必须有:

  • 每个SELECT语句中的列数相同
  • 数据类型必须在SELECT语句中的每个位置匹配
  • 使用:


    在工会声明中,必须有:

  • 每个SELECT语句中的列数相同
  • 数据类型必须在SELECT语句中的每个位置匹配
  • 使用:


    工会都应该工作。这样的基本结构

    select a,b,c,d 
    from t1
    union all 
    select a,b,c,e
    from t2
    
    只要d和e是相同的数据类型

    要进行求和,请使用聚合层将其包装—使用此结构作为内联视图(以及其他方法)

    比如:

    select sum( d )
    from (
        select a,b,c,d 
        from t1
        union all 
        select a,b,c,e
        from t2
    )
    

    工会都应该工作。这样的基本结构

    select a,b,c,d 
    from t1
    union all 
    select a,b,c,e
    from t2
    
    只要d和e是相同的数据类型

    要进行求和,请使用聚合层将其包装—使用此结构作为内联视图(以及其他方法)

    比如:

    select sum( d )
    from (
        select a,b,c,d 
        from t1
        union all 
        select a,b,c,e
        from t2
    )
    

    假设您试图创建一个视图,该视图为所有账户的账户组和总余额提供一个单独的额外行,则此视图应有助于:

    CREATE VIEW [account_balance_sums] AS
      SELECT SUM(balance) AS total, SUBSTRING (Account,0,2) AS account_group
        FROM COA
       GROUP BY account_group
      UNION ALL
      SELECT SUM(balance), 'Grand Total'
        FROM account_group
    

    顺便说一下,帐户名的第一个字符的子字符串表明您在单个列中有多个数据段。这表示数据未正确标准化,如果您想获得最高分数,可能应该解决该问题。请参见普通表单上的

    假设您试图创建一个视图,该视图为所有账户的账户组和总余额提供一个单独的额外行,则该视图应有助于:

    CREATE VIEW [account_balance_sums] AS
      SELECT SUM(balance) AS total, SUBSTRING (Account,0,2) AS account_group
        FROM COA
       GROUP BY account_group
      UNION ALL
      SELECT SUM(balance), 'Grand Total'
        FROM account_group
    

    顺便说一下,帐户名的第一个字符的子字符串表明您在单个列中有多个数据段。这表示数据未正确标准化,如果您想获得最高分数,可能应该解决该问题。请参见标准表格

    您到底想做什么?您能否提供一些示例数据和预期输出?创建并显示一个视图,该视图显示每个科目组的科目余额小计。科目组定义为科目编号的前两位数字。在显示的末尾显示余额列的总计。您到底想做什么?您能否提供一些示例数据和预期输出?创建并显示一个视图,该视图显示每个科目组的科目余额小计。科目组定义为科目编号的前两位数字。在显示的末尾显示余额列的总计。