【发布时间】:2022-12-14 12:58:46
【问题描述】:
一家滑雪度假村公司计划利用现有的山间小屋网络和它们之间的小径建造一个新的滑雪场。新的斜坡必须从其中一个山间小屋开始,在另一个小屋有一个中间站,通过一条直接路径与第一个小屋相连,并在第三个山间小屋结束,第三个山间小屋也通过一条直接路径连接到第二个小屋。选择建造滑雪场的三个小屋的高度必须严格递减。
给你两个表:
create table mountains_huts ( id integer not null, name archer(40) not null, altitude integer not null, unique(name), unique(id);
和
create table trails (hut1 integer not null, hut 2 integer not null);
表 trails 中的每个条目代表具有 IDS hut1 和 hut2 的小屋之间的直接连接。所有路径都是双向的。
创建一个查询,查找所有代表可能用于建造滑雪场的山间小屋的三元组(startpt、midpt、endpt)。
鉴于表格:
山间小屋
| id | name | altitude |
|---|---|---|
| 1 | Dakonat | 1900 |
| 2 | Natisa | 2100 |
| 3 | Gajantut | 1600 |
| 4 | Rifat | 782 |
| 5 | Tupur | 1370 |
小径
| hut1 | hut2 |
|---|---|
| 1 | 3 |
| 3 | 2 |
| 3 | 5 |
| 4 | 5 |
| 1 | 5 |
这是我测试的问题之一。我完全迷失了解决这个问题的方法。我使用引导函数在 (start, mid, end) 中组织数据,但无法用尽所有组合。
【问题讨论】:
-
请阅读并关注:stackoverflow.com/help/minimal-reproducible-example。注意:我格式化了你的SQL代码,但你的问题还有待改进。请使用格式。
-
请提供足够的代码,以便其他人可以更好地理解或重现问题。
标签: sql logic common-table-expression lag