Надо объединить результат с двух таблиц
(SELECT 0 as conversions, SUM(clicks) as clicks FROM general_report WHERE _offer_id = 1043 AND _aff_id = 9 AND (`date_time` BETWEEN '2017-05-24' AND '2017-05-24'))
UNION
(SELECT COUNT(*) as conversions, 0 as clicks FROM conversion_report WHERE _offer_id = 1043 AND _aff_id = 9 AND (DATE(conversion_time) BETWEEN '2017-05-24' AND '2017-05-24'))
На выходе получаю
+-------------+--------+
| conversions | clicks |
+-------------+--------+
| 0 | 1547 |
| 24 | 0 |
+-------------+--------+
А мне нужно
+-------------+--------+
| conversions | clicks |
+-------------+--------+
| 24 | 1547 |
+-------------+--------+
Что я делаю не так ?
Вы объединяете 2 запроса. Первый выдаст строчку 0, 1547, второй - 24, 0, поэтому результат выполнения sql-запроса логичен. Сделайте так:
select sum(conversions), sum(clicks)
from
((SELECT 0 as conversions, clicks as clicks
FROM general_report
WHERE _offer_id = 1043 AND _aff_id = 9
AND (`date_time` BETWEEN '2017-05-24' AND '2017-05-24'))
UNION ALL
(SELECT 1 as conversions, 0 as clicks
FROM conversion_report
WHERE _offer_id = 1043 AND _aff_id = 9
AND (DATE(conversion_time) BETWEEN '2017-05-24' AND '2017-05-24'))) t
Сборка персонального компьютера от Artline: умный выбор для современных пользователей