Суммирование значений из другой таблицы, получение значений из другой таблицы

0

Я пытаюсь суммировать 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;
  • 0
    Вы вообще не суммируете coins , вы просто cpc .
Теги:
select
left-join

1 ответ

0
Лучший ответ

Вы должны суммировать 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)
  • 0
    Верно. Спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню