求不同表的值之和从其他表获取值

ktca8awb  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(372)

我想总结一下 coins 从mèzèu分析,但将这些值替换为 cpc . 例如:
0.01 -> 0.09
0.1 -> 0.1
0.08 -> 0.09
0.1 -> 0.1 site 必须具有与相同的编号 idm_b_browsing_live . 使用的id必须是: 1,2 (见下面的结果)。
table:

m_z_analytics

id|site_id|coins|
 1|      1| 0.01|
 2|      2|  0.1|
 3|      1| 0.08|
 4|      2|  0.1|
 3|      3|  0.2|

m_b_browsing_live

id| cpc|
 1|0.09|
 2| 0.1|
 3| 0.5|

最终结果应为:0.38(0.09+0.1+0.09+0.1)
我已经试过了:

SELECT SUM(a.coins) AS money FROM m_z_analytics a
LEFT JOIN m_b_browsing_live b ON b.id=a.site_id
WHERE CONCAT(',', `a.site_id`, ',') REGEXP ',(1|2),' AND a.coins=b.cpc

SELECT ROUND(SUM(a.coins),2) AS money FROM m_z_analytics a
LEFT JOIN m_b_browsing_live b ON b.id=a.site_id
WHERE a.site_id IN(1,2) AND a.coins=b.cpc;
kqhtkvqz

kqhtkvqz1#

你应该去求和 b.cpc ,不是 a.coins . 你不该这么做 a.coins = b.cpcWHERE 子句,因为它们通常不相等(如果相等,则不需要加入另一个表)。

SELECT SUM(b.cpc) AS money
FROM m_z_analytics AS a
JOIN m_b_browsing_live AS b on a.site_id = b.id
WHERE a.site_id IN (1, 2)

相关问题