找回密码
 立即注册

QQ登录

只需一步,快速开始

哇哈哈哈

初级会员

17

主题

73

帖子

206

积分

初级会员

积分
206
哇哈哈哈
初级会员   /  发表于:2024-5-23 10:40  /   查看:2989  /  回复:12
50金币
两表格,名称相同的合计在图文列表显示,来个大佬~谢谢
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

> 1349 - View's SELECT contains a subquery in the FROM clause 这个错误是mysql视图中不支持有子查询 那我们可以将子查询先创建成一个视图,在将视图中进行统计 视图1: SELECT name, num,total FROM table1 UNION ALL -- 不去重,用UNION ALL;去重,用UNION SELECT name, num,total FROM table2 视图2: SELECT name, SUM(num) AS 数量,SUM(total) AS 总数 FROM 视图1 GROUP BY name

12 个回复

倒序浏览
最佳答案
最佳答案
wwbb
中级会员   /  发表于:2024-5-23 10:40:10
来自 11#
哇哈哈哈 发表于 2024-5-24 11:35
在sql是正常的运行的,活字格报错这个

> 1349 - View's SELECT contains a subquery in the FROM clause
这个错误是mysql视图中不支持有子查询

那我们可以将子查询先创建成一个视图,在将视图中进行统计
视图1:


SELECT name, num,total FROM table1
UNION ALL -- 不去重,用UNION ALL;去重,用UNION  
SELECT name, num,total FROM  table2



视图2:

SELECT name, SUM(num) AS 数量,SUM(total) AS 总数
FROM 视图1
GROUP BY name

回复 使用道具 举报
哇哈哈哈
初级会员   /  发表于:2024-5-23 11:59:31
2#
来大佬..
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-5-24 09:44:19
3#

您好,相同名称的总数可以理解,汇总就行,那这里的数量是要去哪一张表的呢

可以考虑写个视图汇总一下两张表的数量,然后再用图文列表展示即可,sql我们也不是很擅长,可以再网上查找想过方案实现




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
wwbb
中级会员   /  发表于:2024-5-24 10:00:57
4#
本帖最后由 wwbb 于 2024-5-24 10:04 编辑


SELECT [名称], SUM([数量]) AS 合计数量  
FROM (  
    SELECT [名称], [数量] FROM [表1]  
    UNION ALL -- 不去重,用UNION ALL;去重,用UNION  
    SELECT [名称], [数量] FROM [表2]  
) AS combined_tables  
GROUP BY [名称]


  1. <div><span style="color: #0000ff;">SELECT</span> [名称], <span style="color: #c700c7;">SUM</span>([数量]) <span style="color: #0000ff;">AS</span> 合计数量  
  2. <span style="color: #0000ff;">FROM</span> (  
  3.     <span style="color: #0000ff;">SELECT</span> [名称], [数量] <span style="color: #0000ff;">FROM</span> [表1]  
  4.     <span style="color: #778899;">UNION</span> <span style="color: #778899;">ALL</span> <span style="color: #008000;">-- 不去重,用UNION ALL;去重,用UNION  </span>
  5.     <span style="color: #0000ff;">SELECT</span> [名称], [数量] <span style="color: #0000ff;">FROM</span> [表2]  
  6. ) <span style="color: #0000ff;">AS</span> combined_tables  
  7. <span style="color: #0000ff;">GROUP</span> <span style="color: #0000ff;">BY</span> [名称]</div>
复制代码


不知道是否满足需求,仅供参考

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +5 收起 理由
Lay.Li + 5 赞一个!

查看全部评分

回复 使用道具 举报
哇哈哈哈
初级会员   /  发表于:2024-5-24 10:22:03
5#
wwbb 发表于 2024-5-24 10:00
SELECT [名称], SUM([数量]) AS 合计数量  
FROM (  
    SELECT [名称], [数量] FROM [表1]  

              数量  总数
商品1        2        2
商品2        2        2
回复 使用道具 举报
哇哈哈哈
初级会员   /  发表于:2024-5-24 10:25:32
6#
哇哈哈哈 发表于 2024-5-24 10:22
数量  总数
商品1        2        2
商品2        2        2

要这样,就是两表相加
回复 使用道具 举报
wwbb
中级会员   /  发表于:2024-5-24 10:25:58
7#
哇哈哈哈 发表于 2024-5-24 10:22
数量  总数
商品1        2        2
商品2        2        2


SELECT [名称], SUM([数量]) AS 数量,SUM([总数]) AS 总数
FROM (  
    SELECT [名称], [数量],[总数] FROM [表1]  
    UNION ALL -- 不去重,用UNION ALL;去重,用UNION  
    SELECT [名称], [数量],[总数] FROM [表2]  
) AS combined_tables  
GROUP BY [名称]



在添加两个字段就可以



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
哇哈哈哈
初级会员   /  发表于:2024-5-24 11:07:04
8#
wwbb 发表于 2024-5-24 10:25
SELECT [名称], SUM([数量]) AS 数量,[ ...

知道怎么原因吗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
wwbb
中级会员   /  发表于:2024-5-24 11:17:39
9#
你用的是mysql  外链库吧,我给的是活字格自带数据库的sql写法。你把所有的字段上的  []   去掉
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部