2016-03-01 86 views
0

在我的數據庫中,我在所有表中都有Timestamps,Source,ID和Value。 本質上它會顯示這樣的SQL查詢新列

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<title>Query</title> 
 
</head> 
 
<body> 
 
<table border="1"> 
 
<tr> 
 
<td>Timestamp</td> 
 
<td>Source</td> 
 
<td>ID</td> 
 
<td>Value</tr> 
 
</tr> 
 
</table> 
 
</body> 
 
</html>

現在我有一噸的不同來源和編號的,所以我很好奇,如果我能創造一個時間戳兩個不同的來源和共享查詢標識。從我要尋找的查詢得到的表是這樣的:

<!DOCTYPE html> 
 
    <html> 
 
    <head> 
 
    <title>Query</title> 
 
    </head> 
 
    <body> 
 
    <table border="1"> 
 
    <tr> 
 
    <td>Timestamp</td> 
 
    <td>Value at Source = 123, ID = 456</td> 
 
    <td>Value at Source = 789, ID = 000</td> 
 
    </tr> 
 
    </table> 
 
    </body> 
 
    </html>

這東西,是有可能實現的,或者我會過得更好拉動這一點,並重新排列數據別的地方?

+0

這聽起來像是你想把你的結果排序並顯示一組時間戳。 –

回答

0

您加入該錶針對自身查找符合其特定的值和不同的人記錄:

SELECT a.Timestamp, 
    a.Value AS Value_1, a.Source AS Source_1, a.ID AS ID_1, 
    b.Value AS Value_2, b.Source AS Source_2, b.ID AS ID_2 
FROM MyTable a 
INNER JOIN MyTable b 
ON a.Timestamp = b.Timestamp 
AND a.Source <> b.Source 
AND a.ID <> b.ID 

這不是從你的問題很清楚準確的輸出應該是什麼樣子,但你應該是能夠玩選定的列來獲得你想要的東西。

如果性能很重要,您還應該在連接中使用的三列上有索引。