作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从数据库中执行某种组合学。
我的数据库表:
start | end | costs | date
____________________________________
berlin | Moscow | 100 | 2014-12-10
berlin | paris | 200 | 2014-12-13
Moscow | berlin | 150 | 2014-12-20
Moscow | berlin | 100 | 2014-12-11
可能的对是所有具有相同end-start
组合的start-end
组合。在我的表中,这适用于 berlin-moscow
和 moscow-berlin
。
我想计算从一个城市到另一个城市并稍后返回同一个起始城市的“往返”。
我想要实现的结果表是:
start | end | costs | away | wayback
berlin | moscow | 250 | 2014-12-10 | 2014-12-20
berlin | moscow | 200 | 2014-12-10 | 2014-12-11
(这意味着从柏林出发前往莫斯科时,返程将是莫斯科-柏林)。
数据库查询是否可行?
首先:我如何自连接表并获得所有不同的 start-end
对?
最佳答案
作为评论,我建议您不要将保留字用作用户定义对象(如表或列)的 End
。
SELECT F.Start,
F."end",
F.costs + R.costs AS costs,
F.date AS away,
R.date AS wayback
FROM Table1 F
JOIN Table1 R
ON F."end" = R.Start
AND R.date>F.date
AND F.start = R."end"
关于sql - 如何在sql数据库中对组合应用组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25933711/
我是一名优秀的程序员,十分优秀!