SQLZOO - SELF JOIN 第十题
2020-02-03 03:15
239 查看
题目:
*Find the routes involving two buses that can go from Craiglockhart to Lochend.
Show the bus no. and company for the first bus, the name of the stop for the transfer,
and the bus no. and company for the second bus.
第十题真的很复杂。先开始想着建立一个视图,逻辑更清晰一些,但是不允许。只能写成一条,如下:
SELECT DISTINCT v1.num,v1.company, name,v2.num,v2.company // 找出经过Craiglockhart的车辆和其途径的其它站点集合v1(num,company,stop) FROM (SELECT r1.num ,r1.company ,r2.stop FROM route AS r1 JOIN route AS r2 ON (r1.num=r2.num AND r1.company=r2.company)JOIN stops ON r1.stop=stops.id WHERE stops.name='Craiglockhart' AND r2.stop!= r1.stop) AS v1 JOIN // 找出经过Lochend的车辆和其途径的其它站点集合v2(num,company,stop) (SELECT r1.num,r1.company,r2.stop FROM route AS r1 JOIN route AS r2 ON (r1.num=r2.num AND r1.company=r2.company)JOIN stops ON r1.stop=stops.id WHERE stops.name='Lochend' AND r2.stop!= r1.stop) AS v2 // v1和v2需要经过同一个站点作为周转站点 ON v1.stop=v2.stop JOIN stops ON v1.stop=stops.id
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- sqlzoo练习答案--Self join
- sqlzoo练习答案--Self join
- Ajax学习摘录之第十部分 使用 JSON 进行数据传输
- July 微软面试100题 第十题自己的思路
- Silverlight MMORPG网页游戏开发课程[一期] 第十课:面向对象的重构
- 黑马程序员_java的异常处理(对第九课—第十课的异常总结)
- 【超高品质】最美和声 更新至 第十…
- 2011年蓝桥杯初赛题第十题
- 一步步学习SPD2010--第十章节--SP网站品牌化(5)--创建具有功能的HTML页面
- 一步步学习微软InfoPath2010和SP2010--第十章节--与SharePoint Designer工作流的InfoPath集成
- [问题2014S10] 复旦高等代数II(13级)每周一题(第十教学周)
- C语言第十回合:函数大揭秘
- Javascript之旅——第十站:为什么都说闭包难理解呢?
- 构建之法的第十、十一、十二章读书笔记
- 黑客丛林之旅 第十关
- 第十课:透明
- SQLZOO(More JOIN operations)Writeup
- 第十/十一周训练3-2 private
- 第十、十一周项目二-存储班长信息的学生类
- 第十、十一周项目1:阅读程序,写出执行结果(3)