1

あいまいなタイトルで申し訳ありませんが、この手順に名前を付ける方法がよくわかりません。問題は、テーブルが 2 つあることです。最初のものは鉄道駅とその順序を表しています:

station_id | station_name 
1          |  station1 
2          |  station2 
3          |  station3 
4          |  station4 
5          |  station5 
6          |  station6 

そして、2 番目の表は、ある駅から別の駅までの電車の乗車料金を表します (列station1_idstation2_idは、上の表の列への外部キーstation_idです):

price_id | station1_id | station2_id | price 
1        |  1          |  2          |  0.4  
2        |  2          |  3          |  0.35 
3        |  3          |  4          |  0.32 
4        |  4          |  5          |  0.20 
5        |  5          |  6          |  0.25 

私がやりたいことは、駅 A から駅 B まで電車に乗りたい人の切符の価格を計算することです。たとえば、駅 A が「駅 2」で駅 B が「駅 5」の場合、クエリで「0.87」を返します。

駅 A が駅 B の後にある状況を解決する方法について、誰かが提案を投げかけることができるかもしれません。つまり、クエリは下から上に行くチケットの価格を計算する必要があります。

前もって感謝します。

4

1 に答える 1

0
SELECT SUM(price)
  FROM prices
  WHERE station1_id >= station1 AND station1_id < station2;

station2_id列は余剰です。

于 2013-05-10T11:31:42.860 に答える