当前位置: 首页 > 面试题库 >

将行插入查询结果(总和)

阙沛
2023-03-14
问题内容

我有一个报告,显示客户订购的产品及其价格:

CompanyA    Product 7    14.99  
CompanyA    Product 3    45.95
CompanyA    Product 4    12.00
CompanyB    Product 3    45.95
CompanyC    Product 7    14.99
CompanyC    Product 3    45.95

我想插入一行来汇总每个公司的订单,如下所示:

CompanyA    Product 7    14.99  
CompanyA    Product 3    45.95
CompanyA    Product 4    12.00
               Total:    72.94
CompanyB    Product 3    45.95
               Total:    45.95
CompanyC    Product 7    14.99
CompanyC    Product 3    45.95
               Total:    60.94

这是一些代码,显示了我所拥有的查询的基本结构:

SELECT company
   , product
   , price
FROM companyMaster
ORDER BY company,
   , product,
   , price;

有谁知道如何做到这一点?我在Transact-SQL(Microsoft SQL Server)中编写此代码。


问题答案:

感谢大家的反馈/帮助,至少让我想到了不同的方法。我想出了一些与我使用的SQL
Server版本无关的东西(我们的供应商经常更改版本,因此我必须尽可能地兼容)。

这可能被认为是一种hack(好吧,这是一种hack),但是它可以工作,并且可以完成工作:

SELECT company
   , product
   , price
FROM companyMaster
ORDER BY company,
   , product,
   , price

UNION

SELECT company + 'Total'
   , ''
   , SUM(price)
FROM companyMaster
GROUP BY company

ORDER BY company;

该解决方案基本上使用两个select语句的UNION。第一个就像原始的一样,第二个产生我需要的求和线。为了正确定位总和行,我对公司名称进行了字符串连接(在单词“
Total”后面加上),以便当我按字母顺序对公司名称进行html" target="_blank">排序时,“总计”行将显示在每个公司部分的底部。

最终报告如下所示(并非完全符合我的要求,但功能等效,只是看起来不太漂亮:

CompanyA    Product 7    14.99  
CompanyA    Product 3    45.95
CompanyA    Product 4    12.00
CompanyA Total           72.94
CompanyB    Product 3    45.95
CompanyB Total           45.95
CompanyC    Product 7    14.99
CompanyC    Product 3    45.95
CompanyC Total           60.94


 类似资料:
  • 问题内容: 我有一个动态查询,执行时会给出带有很多列的结果。我想将来自此动态查询的结果插入到临时表中。我这样做是因为我想对临时表执行一些过滤并获得所需的结果。 在该线程中先创建一个临时表,然后使用插入数据。 由于列的列表太长,我想避免此步骤,而且我不知道字段的数据类型。 错误信息 关键字“ exec”附近的语法不正确。 这该怎么做 ?是否可以通过这种方式完成?如果不是,请指定其他替代方法以将执行动

  • 我正在为我的网站做一个注册页面。我在PHPMyAdmin中维护一个包含7个字段的数据库(id、用户名、密码、电子邮件、活动、代码和日期)。我正在使用代码和活动字段来实现电子邮件激活。注册表单使用post方法获取4个参数(名称、电子邮件、密码和重新键入密码),并将提交按钮的信息传递给PHP代码,以检查用户是否是新的,电子邮件ID是否应该是新的,并在单击提交按钮后检查空字段。PHP代码如下所示: 当我

  • 问题内容: 有关表格的概述如下: 我有一个表,可以称之为联接,它有两列,都是其他表的外键。让我们将两列称为userid和buildingid,以便join看起来像 我基本上需要在此表中插入一堆行。通过在此表中具有多个条目,将为每个用户分配多个建筑物。因此,可以通过以下方式将用户13分配到建筑物1、2和3 我试图弄清楚如果建筑物号是恒定的,该如何在查询中执行此操作,也就是说,我正在将一群人分配给同一

  • 背景:我有一个目录,其中包含许多导入SQL服务器的文件。 任务:创建PowerShell脚本,该脚本将拾取此目录中的文件,并使用SQL查询中的文件名。 最终目标:除了显示文件名之外,显示SQL结果,但显示的结果集也应该显示服务器中没有条目SQL文件。类似于SQL服务器查询中的。 Powershell代码 到目前为止完成的工作:我已经能够使用Get-ChildItem获取文件名并循环它们以获取查询结

  • 这是表定义,这将是结果的目标表 要求是:在表中插入许多新记录在子查询中找到 和的唯一组合 以下查询给出错误,因为< code >子查询通常会返回多行 不确定如何实现,例如:如果某个< code > ID _ CUSTOMER < code > ACCOUNT _ POSITION 有2个< code >金额,我们应该在表< code > CONTRIBUTION _ MARGIN _ ACCOUN

  • 问题内容: 我需要编写一个查询,该查询从表中返回汇总和非汇总数据。 下面的示例应有助于阐明我要执行的操作。我有以下(简化)表: 为了便于讨论,假设每个学生都属于一个课程组。我想编写一个查询,该查询将返回如下结果集: student.name,student.weight,weight_apgaw,weight_apgh 在哪里: weight_apgaw: 是单个学生的体重,表示为他/她所属课程组