K*o 发帖数: 96 | 1 新手学SQL,在网上找题做。
碰到这题,想了好久都想不出怎么解。晚上睡觉都睡不好,想了好多方案都不对。网站
也没提供正确答案,只说错了。版上牛人多,能给指点下么。。要不然今天晚上又睡不
好了。。
题目在下面这个网页,是最后一题(第10题)
http://sqlzoo.net/wiki/Self_join |
B*****g 发帖数: 34098 | 2 答案不对吧,下面这个答案就没有
45 LRT from Craiglockhart(53 pos at 7) To Brunstane(33 pos at 1)
then 32 LRT from Brunstane(33 pos at 2) to Sighthill(213 pos at 14)
num company pos stop
45 LRT 1 33 (Brunstane)
45 LRT 2 71
45 LRT 3 177
45 LRT 4 149
45 LRT 5 112
45 LRT 6 230
45 LRT 7 53 (Craiglockhart)
45 LRT 8 46
45 LRT 9 60
45 LRT 10 201
num company pos stop
32 LRT 1 173
32 LRT 2 33 (Brunstane)
32 LRT 3 191
32 LRT 4 50
32 LRT 5 200
32 LRT 6 137
32 LRT 7 167
32 LRT 8 105
32 LRT 9 162
32 LRT 10 70
32 LRT 11 42
32 LRT 12 48
32 LRT 13 31
32 LRT 14 213 (Sighthill)
32 LRT 15 244
32 LRT 16 46
32 LRT 17 179
32 LRT 18 85
32 LRT 19 121
32 LRT 20 96
32 LRT 21 36
32 LRT 22 54
32 LRT 23 173
【在 K*o 的大作中提到】 : 新手学SQL,在网上找题做。 : 碰到这题,想了好久都想不出怎么解。晚上睡觉都睡不好,想了好多方案都不对。网站 : 也没提供正确答案,只说错了。版上牛人多,能给指点下么。。要不然今天晚上又睡不 : 好了。。 : 题目在下面这个网页,是最后一题(第10题) : http://sqlzoo.net/wiki/Self_join
|
c*****d 发帖数: 6045 | 3 没看懂这个route表是一个什么意思
某个车次num到某个公司company在stop处下车
pos是啥? |
B*****g 发帖数: 34098 | 4 num + company + pos是pk, 某某公司第num路汽车第pos站
【在 c*****d 的大作中提到】 : 没看懂这个route表是一个什么意思 : 某个车次num到某个公司company在stop处下车 : pos是啥?
|
a*******y 发帖数: 105 | 5 我也不明白为啥不对, 难道还要排序?
select p1.num, p1.company, p1.name, p2.num, p2.company from
(SELECT distinct stopb.name, a.company, a.num
FROM route a JOIN route b ON
(a.company=b.company AND a.num=b.num)
JOIN stops stopa ON (a.stop=stopa.id)
JOIN stops stopb ON (b.stop=stopb.id)
WHERE stopa.name='Craiglockhart') as p1
join
(SELECT distinct stopa2.name, a2.company, a2.num
FROM route a2 JOIN route b2 ON
(a2.company=b2.company AND a2.num=b2.num)
JOIN stops stopa2 ON (a2.stop=stopa2.id)
JOIN stops stopb2 ON (b2.stop=stopb2.id)
WHERE stopb2.name='Sighthill') as p2
On p1.name=p2.name |
K*o 发帖数: 96 | 6 (⊙o⊙)哦。。。
看明白了。。
还是版上牛人多。多谢指点! |