我有三个具有相同名称列的表,我想从所有这些表中分别选择用户(不重复) 这是我的查询,它有效,
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
答案 0 :(得分:2)
由于听起来像您的实际数据(与示例不同),因此每个用户在不同的表中具有不同的时间戳,并且您不必在乎只要选择用户的那些时间戳中的 名称是唯一的...
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 :(得分:1)
您的样本数据意味着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