@XenK

Как объединить запрос?

Имеется такой запрос:
SELECT sum(money) FROM `accounts` WHERE date >= CURDATE() AND tel_id = 1234 AND type = 1 AND status = 1

И такой:
SELECT sum(money) FROM `accounts` WHERE date >= CURDATE() AND tel_id IN (1542, 6624, 2524) AND type = 1 AND status = 1

Как объединить данные запросы, чтобы в результате получилось так:
--------------------------
| tel_id | sum1 | sum2 |
--------------------------
  • Вопрос задан
  • 236 просмотров
Решения вопроса 1
@DDanser
SELECT T1.tel_id, T1.sum1, T2.sum2
FROM
  (SELECT tel_id, sum(money) AS sum1
   FROM accounts
   WHERE date >= CURDATE() AND tel_id = 1234 AND type = 1 AND status = 1
   ) T1,
  (SELECT tel_id, sum(money) AS sum2
   FROM accounts
   WHERE date >= CURDATE() AND tel_id IN (1542, 6624, 2524) AND type = 1 AND status = 1
  ) T2
WHERE T2.tel_id = T1.tel_id
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Не нужно ничего объединять, джоин таблицы на себя - плохая практика и медленные запросы. Нет смысла, никакого выигрыша по скорости не будет, еще и логика запроса через пятую точку. Сделайте 2 запроса и объединяйте данные в пхп, тогда все будет работать быстро и логично. Используйте KISS.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы