Соединение влево, выбор объединения с несколькими столбцами - PullRequest
0 голосов
/ 01 июля 2019

У меня есть три таблицы с одноименными столбцами, я хочу четко выбрать пользователей из всех этих таблиц (без повторов) вот мой запрос, и он работает,

SELECT User FROM Table1 UNION SELECT User FROM Table2 UNION SELECT User FROM Table3

Как добавить еще один столбец для выбора

как то так,

SELECT User, Time

Но мне нужно объединить только столбец Пользователь , столбец Время только для просмотра.

Обновление: вот 3 таблицы, которые у меня есть. Я хочу получить имена пользователей из этих таблиц без повторения (отдельно). и я хочу, чтобы столбец времени показывался в результате

User  | Time     
Sam   | 12.00      
Jack  | 12.00      
Harry | 12.00      
John  | 12.00    
John  | 12.00    
Sam   | 12.00   

User    | Time     
Jacob   | 12.00      
Jack    | 12.00      
Harry   | 12.00      
John    | 12.00    
Charlie | 12.00    
Sam     | 12.00   

User    | Time     
Mason   | 12.00      
William | 12.00      
Harry   | 12.00      
John    | 12.00    
Charlie | 12.00    
Sam     | 12.00   

Результат должен быть таким:

User    | Time     
Mason   | 12.00      
William | 12.00      
Harry   | 12.00      
John    | 12.00    
Charlie | 12.00    
Sam     | 12.00 
Jacob   | 12.00 
Jack    | 12.00

Ответы [ 2 ]

2 голосов
/ 01 июля 2019

Так как ваши фактические данные, в отличие от вашего образца, имеют разные временные метки для каждого пользователя в разных таблицах, и вам все равно , какая из этих временных меток выбрана, если имена пользователейуникальны ...

SELECT User, min(Time)
FROM (SELECT User, Time FROM Table1
      UNION ALL
      SELECT User, Time FROM Table2
      UNION ALL
      SELECT User, Time FROM Table3)
GROUP BY User;
1 голос
/ 01 июля 2019

В данных вашего примера подразумевается, что значение Time всегда одинаково, и поэтому вы не против выбрать любое значение в таблице.Здесь можно выбрать постоянное значение в качестве значения Time:

SELECT User, '12.00' AS Time FROM Table1 UNION ALL
SELECT User, '12.00' FROM Table2 UNION ALL
SELECT User, '12.00' FROM Table3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...