@av_tyschenko

MYSQL как получить данные из двух таблиц для вывода?

Друзья, помогите состряпать запрос, а то я роняю сервер постоянно.

Есть 2 таблицы:
Таблица №1: wp_userdata(user_id, date, view) - эта таблица главная, данные из нее приоритетны
  • 1 | 20-03-2016 | 24
  • 2 | 20-03-2016 | 12
  • 1 | 20-03-2016 | 52
  • 2 | 20-03-2016 | 44
  • 3 | 20-03-2016 | 14

Таблица №2: wp_usermeta (user_id, meta_key, meta_value)
  • 1 | 'utc' | '+2'
  • 1 | 'test' | '+2'
  • 2 | 'utc' | '+5'
  • 2 | 'test' | '+2'
  • 3 | 'utc' | '+4'
  • 3 | 'test' | '+2'


Я сделал вот такой запрос:
SELECT t1.user_id, COUNT(*) as visits, SUM(t1.view) as total_view
                    FROM wp_userdata t1
                    GROUP BY t1.user_id
                    ORDER BY t1.date DESC


Он способен выдавать уникальных пользователей, и считать по датам количество их посещений.

Вывод по данным таблицам будет выглядеть так:

  • stdClass Object ( [user_id] => 1 [visits] => 2 [view] => 76 )
  • stdClass Object ( [user_id] => 2 [visits] => 2 [view] => 56)
  • stdClass Object ( [user_id] => 3 [visits] => 1 [view] => 14)


Задача стоит такая, добавить к выводу еще пару полей:
1) view - я уже почекал
2) И после из таблицы wp_usermeta которое будет соответствовать user_id = user_id adn meta_key = utc

Что бы на выходе получить
  • stdClass Object ( [user_id] => 1 [visits] => 2 [view] => 76[utc] => +2 )
  • stdClass Object ( [user_id] => 2 [visits] => 2 [view] => 56[utc] => +5 )
  • stdClass Object ( [user_id] => 3 [visits] => 1 [view] => 14 [utc] => +4 )


Если кому то будет не лень разбираться в том что я по написал, буду крайне признателен. Спасибо что дочитали)
  • Вопрос задан
  • 238 просмотров
Решения вопроса 1
@av_tyschenko Автор вопроса
Сумму view я посчитал, осталось только utc вывести.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Shkurupii
select wp_userdata.id, count(*) as visits, sum(wp_userdata.view) as total_view from wp_userdata,wp_usermeta where wp_usermeta.id=wp_userdata.id group by wp_userdata.id order by wp_userdata.date desc;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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