Я пытаюсь суммировать coins
из m_z_analytics, но заменяю эти значения на cpc
. Например:
0,01 → 0,09
0,1 → 0,1
0,08 → 0,09
0,1 → 0,1
site
должен иметь тот же номер, что и id
из m_b_browsing_live
. Используемый идентификатор должен быть: 1,2
(см. Результат ниже).
Таблицы:
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;
Вы должны суммировать b.cpc
, а не a.coins
. И вы не должны иметь a.coins = b.cpc
в WHERE
, так как они обычно не равны (если они были, вам не нужно было бы присоединяться к другой таблице).
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)
coins
, вы простоcpc
.