2016-04-21 10 views
0

Ich habe eine Tabelle namens Route, die alle möglichen Züge speichert.Wie findet man alle möglichen Züge von der Quelle und vom Ziel?

enter image description here

Ich brauche eine Abfrage zu schreiben, alle möglichen Train_ID zu finden, so dass STATION_ID von Source = "NDLS" und STATION_ID von Destination = "KNP".

Mein Versuch:

Select t.Train_ID from Route as t,Route as d where t.Train_ID = d.Train_ID and t.Stop_Number < d.Stop_Number and t.Station_ID = "KNP" and d.Station_ID = "NDLS";

Aber das ist leer leeren Satz.

Antwort

1
select t.train_id 
     , case when t.station_id = 'NDLS' then t.station_id end as source 
     , case when t.station_id = 'KNP' then t.station_id end as destination 
    from route t; 

Dies wird Ihnen in der ersten Spalte train_id würde zweite Spalte mit Quelle als ‚NDLS‘ und der dritten Spalte als ‚KNP‘ wäre als Ziel train_id werden.

Sie könnten null für das Ziel erhalten, wenn der Quellwert presnt ist und umgekehrt.

Ich hoffe, das ist in Ordnung für Sie.

+1

Die Reihenfolge, in der stop_numbers auftritt, scheint relevant zu sein – Strawberry

Verwandte Themen