2011-01-05 81 views
2

我想知道是否有簡單的方法將單個表中的記錄對連接起來形成一個表。例如:我怎樣才能將一對記錄按時間順序排序(使用MySQL)

ID,類型,時間

1,A,01:00:00

2,B,02:00:00

3,A,03:00: 00

4,B,4時00分00秒

5,A,五時00分00秒

我想中檢索什麼是單噸能夠像這樣列出對(A/B)。

ID,類型,時間,ID,類型,時間

1,A,01:00:00,2,B,02:00:00

3,A,03:00: 00,如圖4所示,B,四點00分00秒

5,A,05:00:00,NULL,NULL,NULL

在B記錄應該是A之後的下一個,如果沒有B然後只返回NULL。表格應按照順序排序。

TIA

回答

1

感謝ajreal,它幫助我找到了答案:

SELECT T.ID,T.Type,T.Time,T2.ID,T2.Type,T2.Time FROM Table T LEFT JOIN Table T2 
ON (T.Type = 'A' AND T2.Type = 'B' AND T.Time < T2.Time) 
WHERE T2.ID IS NOT NULL 
GROUP BY T.ID 
1

好笑的問題,希望這對你的工作

select tbl_a.*, tbl_b.* 
from 
    your_table as tbl_a 
left join 
    your_table as tbl_b 
on 
    tbl_a.ID=tbl_b.ID-1 
where tbl_a.ID%2=1  <-- get ID mod 2=1 
order by tbl_a.ID; 
相關問題