sql - 两条记录相同时的单行提取
问题描述
Fromjourney ToJourney KM
Delhi Mumbai 1000
Mumbai Delhi 1000
Gurgaon Noida 50
Noida Gurgaon 50
Ghaziabad Faridabad 60
Faridabad Ghaziabad 60
Delhi Meerut 80
Meerut Delhi 80
我有三列from
,To
和KM
.
当 From To 与 From-Mumbai、To-Delhi To-Delhi、From-Mumbai 相同的城市时,我想要单行数据
Ι 想要单行这个数据
解决方案
select T1.Fromjourney,T1.ToJourney
,T2.*
from TestTable T1
left join TestTable T2
on T1.Fromjourney = T2.ToJourney
and T1.ToJourney = T2.Fromjourney
and T1.Fromjourney < T2.Fromjourney
where T2.Fromjourney is not null
| Fromjourney | ToJourney | Fromjourney | ToJourney | KM |
|-------------|-----------|-------------|-----------|------|
| Delhi | Mumbai | Mumbai | Delhi | 1000 |
| Gurgaon | Noida | Noida | Gurgaon | 50 |
| Faridabad | Ghaziabad | Ghaziabad | Faridabad | 60 |
| Delhi | Meerut | Meerut | Delhi | 80 |
推荐阅读
- android - 测试时将新的广告网络添加到 Admob 中介组
- reactjs - 如何匹配检索到的数组中的用户输入?
- php - 如何为我的旧网站编写重定向网址
- javascript - React 随时重新渲染任何东西
- c - GDB 核心调试建议传递给函数的指针在调用后变为 NULL
- windows - 将 docker 镜像打包为可执行的 `exe` 文件
- android - 尽管删除了 SMS 或 CALL LOG 权限,应用程序更新在 Play 商店中被一遍又一遍地拒绝
- python - 将 xlrd python 中的一行读入数据框
- windows - 在 Windows 上触发页面错误异常
- c# - OpenCV C# 像 C++ 一样迭代 Mat 对象