连接两个表并显示发票编号总额的 SQL 查询

Posted

技术标签:

【中文标题】连接两个表并显示发票编号总额的 SQL 查询【英文标题】:SQL Query which join two tables and display Total amount of invoice number 【发布时间】:2014-08-30 06:24:38 【问题描述】:

我是 *** 的新手,很抱歉我的英语很差,请不要对我的问题给予否定的评价,我真的需要答案。

我一直在做一项任务。我有两张表 sale_headsale_details

表 sale_head 有以下字段。 -- invoiceno (PK),suppliername,invoicedate 并且表 sale_details 具有以下字段。 -- invoiceno(FK),suppliername,product_code,qty,totalkg,rate,subtotal 基本上我在这里所做的是,我有两个表,主表和从表,主表包含数据的所有头部信息,详细信息表包含产品代码、产品数量、费率和总计等其他详细信息等等

到目前为止,我已经想出了一个如下的 SQL 查询

SELECT sale_head.suppliername AS sale_head_suppliername,
       sale_head.invoiceno AS sale_head_invoiceno, sale_head.invoicedate,
       sale_details.invoiceno AS sale_details_invoiceno,
       sale_details.suppliername AS sale_details_suppliername, 
       sale_details.product_code, sale_details.qty, sale_details.totalkg,
       sale_details.Rate, sale_details.subtotal 
       FROM sale_head 
       INNER JOIN sale_details ON sale_head.[invoiceno] = sale_details.[invoiceno]
       WHERE (((sale_head.suppliername)='Ramkrishna Creation'));

上面的查询显示了一些特定的结果(日期显示的数量很多)请参考这个图片链接。这将向您显示上述 SQL 查询的结果 我得出的结果:Image link

我想要显示的结果是:Image Link 我想要发票号码末尾的小计总和,如上图所示,不要关注颜色,我刚刚显示了你引起注意的颜色。 我真的需要这个问题的答案,所以请帮助我。

【问题讨论】:

【参考方案1】:

您可以使用UNION ALL 执行此操作:

SELECT sale_head.suppliername AS sale_head_suppliername,
sale_head.invoiceno AS sale_head_invoiceno, sale_head.invoicedate,
sale_details.invoiceno AS sale_details_invoiceno, sale_details.suppliername AS       sale_details_suppliername,
sale_details.product_code, sale_details.qty, sale_details.totalkg, sale_details.Rate,   sale_details.subtotal FROM sale_head 

INNER JOIN sale_details ON sale_head.[invoiceno] = sale_details.[invoiceno] 
UNION ALL
select 'Total', sum(sale_details.subtotal) from sale_details

WHERE (((sale_head.suppliername)='Ramkrishna Creation'));

【讨论】:

感谢您的回答,当我尝试在 MsAccess 中运行此 SQL 时,它给了我一个名为“查询表达式 'sum(sale_details.subtotal) 中的语法错误(缺少运算符)”的错误 WHERE ((( sale_head.suppliername)='Ramkrishna Creation'))' 有什么解决办法? 谢谢 但是现在它说两个选定表中的列数或联合查询的查询不匹配。

以上是关于连接两个表并显示发票编号总额的 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章

数据分析 - 连接查询

连接两个sql表并分组

如何连接两个表并显示源?

SQL 连接两个表并检查两个表中的每个值是不是存在

SQL如何查询两个表连接明细表结果用分隔符分开?

Mysql连接两个表并根据主键计算总记录