2015-06-20 23 views
0

假設我有一個MySQL以下數據:MySQL的:從列創建輸出行含有分隔的數據

**bond** | **node** | **edges** 
foo  | 1  | 2,3 
hak  | 2  | 1 
wat  | 3  | 1,2 

我想返回的結果來創建適合於在Cytoscape的可視化數據。它要求每個節點都有一條專用於每條邊的線。輸出將如下所示:

**bond** | **node** | **edges** 
foo  | 1  | 2 
foo  | 1  | 3 
hak  | 2  | 1 
wat  | 3  | 1 
wat  | 3  | 2 

我覺得PIVOT運營商可能會以某種方式工作,但我有沒有運氣。

回答

1

假設您有一個邊緣主表,其中存儲邊的所有可能值。

如果我的假設是錯誤的,我的回答是行不通的

SELECT bond, node, edgemaster.edgeid FROM mytable 
JOIN edgemaster ON FIND_IN_SET(edgemaster.edgeid, mytable.edges) 
ORDER BY bond, node, edgemaster.edgeid 

Sql Fiddle

+0

解決方案提供產生預期的效果,加入由「MYTABLE」條目邊的主表。謝謝。 –

相關問題