SQL请求(唯一路由)

时间:2013-04-03 09:45:43

标签: sql

我有桌子TOWNS:

TOWNS (t)
Paris
London
Berlin
etc..

我想发出SELECT请求,返回所有唯一路由,例如:

ROUTES (t1, t2)
Paris London  
Paris Berlin  
Berlin London  
etc..

如果我们有路线伦敦 - 巴黎,我们不能添加路线巴黎 - 伦敦,因为在这种情况下A-B = B-A。

将会提出任何建议。

2 个答案:

答案 0 :(得分:0)

select a.townname, b.townname othertown
  from town a
  join town b on a.townname < b.townname

要填充ROUTE表,可以从SELECT语句中插入。

答案 1 :(得分:0)

这应该排除所有A = B和所有反向路线:)

select t1.town,
       t2.town
from towns t
inner join towns t2
where t1.town > t2.town