我需要为网络图编写一个select查询。有两个表格;
select * from node;
num | node
-----+------
1 | a
2 | b
3 | c
4 | d
select * from edge;
e1 | e2
----+----
a | b
c | d
a | c
我需要一个select语句,它会以像这样的数字形式给出边缘值;
1-2
3-4
1-3
我使用的是postgresql 8.4,但与我的问题没有任何关系。
谢谢。
答案 0 :(得分:2)
一些JOIN应该可以解决这个问题:
SELECT
n1.num AS num1,
n2.num AS num2
FROM node n1
JOIN edge e ON n1.node = e.e1
JOIN node n2 ON n2.node = e.e2
如果您希望输出字符串与问题完全相同,请改用:
SELECT n1.num || '-' || n2.num AS nums
FROM ...