2012-03-07 103 views
0

我下面的表格有MySQL如何將兩列合併爲一個,只顯示不同的值?

表:時報

timeid time 
1  10  
2  11 
3  3  

表:計數

countId timeID numberCounts times 
1  1  1   0 
2  2  3   11 
2  2  3   12 
3  2  3   13 
4  3  1   0 

查詢我使用

SELECT 

t.time AS "Start Channel", 
c.times AS Lapse 

FROM Times t 

JOIN Count c ON c.Time_ID=t.Time_ID; 

輸出

+---------------+----------+ 
| Start Time | lapse | 
+---------------+----------+ 
|   10 |  0 | 
|   11 |  11 | 
|   11 |  12 | 
|   11 |  13 | 
|   3 |  0 | 
+---------------+----------+ 

慾望結果:

+---------------+ 
|  TimeS  | 
+---------------+ 
|   10 | 
|   11 | 
|   12 | 
|   13 | 
|   3 | 
+---------------+ 

回答

2

從你期望的結果,似乎喜歡你想要的:

SELECT GREATEST(t.time, c.times) AS `TimeS` 
    FROM Times AS t 
    JOIN Count AS c 
    ON c.Time_ID = t.Time_ID 
; 

,但你的問題的稱號使得它聽起來像你想:

SELECT time AS `TimeS` 
    FROM Times 
UNION 
SELECT times 
    FROM Count 
; 

(其中也將包括在結果的0,因爲Count.times有時0)。

+0

再次感謝ruakh! – stackoverflow 2012-03-07 16:48:54

+0

我認爲你的第一個查詢是OP想要的,但可能使用'SELECT DISTINCT GREATEST(...'代替。 – 2012-03-07 16:49:06

0

你需要學習DISTINCT關鍵字,方便,快捷的解決方案:)

+0

我知道什麼是不同的關鍵字,但我不知道如何將它們與不同的 – stackoverflow 2012-03-07 16:42:24

+0

放在一起,您只需將它放在SELECT KEYWORD之後 – Th0rndike 2012-03-07 16:43:46

相關問題