MYSQL查询以基于另一个表获取SUM

问题描述

我有以下两个表:

CREATE TABLE `goods_ages` (
  `resourceKey` varchar(50) NOT NULL,`eraId` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

| resourceKey| eraId       | 
|:-----------|------------:|
| gold       |      1      | 
| iron       |      1      |  
| wood       |      2      |  
| steel      |      2      |  


CREATE TABLE `user_resources` (
  `id` int(10) NOT NULL,`date` date NOT NULL,`gold` int(10) DEFAULT NULL,`iron` int(10) DEFAULT NULL,`wood` int(10) DEFAULT NULL
  `steel` int(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


| id | date       | gold | iron | wood | steel|
|:---|------------|------|------|------|------|
| 1  |  2020-09-02|  90  |  5   |  55  |  10  |
| 2  |  2020-09-03|  50  |  10  |  55  |  10  |
| 3  |  2020-09-04|  30  |  20  |  55  |  30  |
| 4  |  2020-09-05|  50  |  20  |  55  |  20  |

并要显示特定日期每个eraId的资源总和(在区域图中):

| eraId   |    date      |  SUM   | 
|:--------|--------------|-------:|
| 1       |   2020-09-02 |   95   | 
| 2       |   2020-09-02 |   65   |
| 1       |   2020-09-03 |   60   | 
| 2       |   2020-09-03 |   65   |
| 1       |   2020-09-04 |   50   | 
| 2       |   2020-09-04 |   85   |
| 1       |   2020-09-05 |   70   | 
| 2       |   2020-09-05 |   75   | 

我的问题是我不知道要建立我的MYSQL查询。我需要类似的东西

SELECT user_resources.SUM,goods_ages.eraId,user_resources.date FROM user_resources INNER JOIN goods_ages GROUP BY goods_ages.eraID

但是还需要一个查询获取每个eraId的子查询...

PS:我的user_resources中有150多个列,以后可能会自动添加更多列。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)