向所有人致以问候!
我一直在思考这个问题几天,希望有人能指出我正确的方向:
我有一个带有电台链接的表格:
stationID
lineID
我想在所有连接的电台之间生成电台对。两个站点将连接两个站点。
我该怎么做?提前感谢您的意见和建议!
答案 0 :(得分:0)
不要将lineID
存储在station
表中。相反,请使用三个表:station
,line
和station_line
。第三个表将站点与线路组合在一起,使得站点可能具有零个,一个或多个线路。
station:
ID
name
line:
ID
name
station_line:
station
line
答案 1 :(得分:0)
检查出来(SQLFiddle):
select distinct a.stationName as 'st1', b.stationName as 'st2', a.lineId from
tbl as a, tbl as b where
(a.lineId in (select lineId from tbl where stationId in
(select stationId from tbl where lineId=b.lineId)) &&
a.stationId<>b.stationId) ;