簡體   English   中英

左聯接,多列聯合選擇

[英]Left Join, Union Select with multiple columns

我有三個帶有相同名稱列的表,我想從所有這些表中分別選擇用戶(不重復),這是我的查詢,它可以正常工作,

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

由於聽起來像您的實際數據,與示例不同,在不同的表中每個用戶的時間戳都不同, 因此只要用戶名是唯一的,您就不必擔心會選擇哪個時間戳...

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;

您的樣本數據暗示“ 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM