MySQL:从包含分隔数据的列创建的输出行

时间:2015-06-20 06:56:54

标签: mysql sql cytoscape

假设我在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 个答案:

答案 0 :(得分: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