@zxcursed

Как объединить результаты двух запросов?

Первый запрос:
SELECT user_id,  value_1 FROM table a WHERE type = 'remove' AND action_type = 3 ORDER BY created_timestamp DESC LIMIT 50;

Возвращает:
user_id	|	value_1
1229119157	64000
1228783272	158000
1229119157	612000
1230010274	55000


Второй запрос:
SELECT user_id, value_2 FROM table WHERE type = 'give'  AND action_type = 22 ORDER BY created_timestamp DESC LIMIT 50;

Возвращает:
user_id	|	value_2
1229119157	Text 1
1228783272	Text 2
1229119157	Text 3
1230010274	Text 4


Как объединить их, чтобы в итоге получилось:
user_id	|	value_1|	value_2
1229119157	64000		Text 1
1228783272	158000		Text 2
1229119157	612000		Text 3
1230010274	55000		Text 4
  • Вопрос задан
  • 153 просмотра
Пригласить эксперта
Ответы на вопрос 2
DanArst
@DanArst
Гриффиндор в моде при любой погоде!
left join

upd.
Соглашусь с Akina я бы наверное лучше сделал так с INNER JOIN
SELECT a.user_id, a.value_1, b.value_2
FROM (SELECT user_id, value_1 FROM `sd1` WHERE type = 'remove' AND action_type = 3) a
INNER JOIN (SELECT user_id, value_2 FROM `sd2` WHERE type = 'give' AND action_type = 22) b ON a.user_id = b.user_id;
Ответ написан
iMedved2009
@iMedved2009
Не люблю людей
select table0.user_id, table1.value_1, table2.value_2 
from (select user_id from table group by user_id) as table0  
left join table as table1 on table0.user_id = table1.user_id AND table1.type = 'remove' and table1.action_type = 3
left join table as table2 on table0.user_id = table2.user_id AND table2.type = 'give' and table2.action_type = 22
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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