Объединять таблицы с отдельными строками [Query] - PullRequest
0 голосов
/ 09 февраля 2019

Последние 2 часа я смотрел в Интернете, чтобы решить мою проблему, у меня есть 2 таблицы с одним и тем же пользователем.Я хотел бы объединить обе таблицы, не объединяя их в одну строку.

Я пробовал несколько способов объединения таблиц.

Пример:

Таблица 1:

ID| User  | item
1 | Peter | Apple
2 | Peter | Grape
3 | John  | Apple
4 | Smith | Lemon

Таблица 2:

ID| User  | Cars
1 | Smith | Mazda
2 | Peter | BMW
3 | Jamie | Apple
4 | Peter | Honda

Я пытаюсь сделать запрос, который бы показал мне все элементы, которыми владеет человек, вот как id, как и результат запроса, возвращать.

Результат запроса, который я пытаюсь получить:

ID| User  | Belongings
1 | Peter | Honda
2 | Peter | BMX
3 | Peter | Apple
4 | Peter | Grape

1 Ответ

0 голосов
/ 09 февраля 2019

Вы можете использовать union all:

select id, user, item
from table1 t1
where user = 'Peter'
union all
select id, user, item
from table2 t2
where user = 'Peter';

Если вы хотите переназначить идентификатор:

select (@rn := @rn + 1) as id, user, item
from ((select id, user, item
       from table1 t1
       where user = 'Peter'
      ) union all
      (select id, user, item
       from table2 t2
       where user = 'Peter'
      )
     ) p cross join
     (select @rn := 0) params
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...