我有两个表来存储图表数据。
顶点表:
+----+---+---+
| id | x | y |
+----+---+---+
边缘表(多对多关系):
+---------+-------+
| from_id | to_id |
+---------+-------+
我想选择具有相应顶点的所有边,如下所示:
+----+----+----+----+
| x1 | y1 | x2 | y2 |
+----+----+----+----+
其中x1和y1是源顶点的坐标,x2和y2是目标顶点的坐标。
相应的SQL查询是什么?
答案 0 :(得分:1)
SELECT v_from.x x1,
v_from.y y1,
v_to.x x2,
v_to.y y2
FROM edge AS e
JOIN vertex AS v_from
ON e.from_id = v_from.id
JOIN vertex AS v_to
ON e.to_id = v_to.id