2017-01-03 1 views
1

私は2つのテーブルを持っています。row-result内の別のテーブル列からどのように結果を取得するのですか?

場所:[(へ、から)、(1,2)、(2,3)]

ステーション:[(ID、名前)(1、サウス端)、(2、ノースエンド) (3、中央終了)]私は私の出力は以下のようになりたい

出力テーブル:[(南終わり、ノースエンド)、(ノースエンド、中央終了)](へ、から)

次のクエリを試しました。

select status_step.id, from_step , to_step, status_step.name, 
direction from timings inner join stations 
on timings.from_id= stations.id GROUP BY stations.id; 

しかし、それは私に意図された答えを与えません。ヒント/助けをいただければ幸いです。ありがとう。

答えて

2

あなたはこのようなもので、一度だけ参加することができます:

SELECT MAX(CASE WHEN t.from = s.id THEN s.name END) as `from`, 
     MAX(CASE WHEN t.to = s.id THEN s.name END) as `to` 
FROM stations s 
JOIN timings t 
ON(s.id IN(t.from,t.to)) 
GROUP BY t.from,t.to 

only_full_group_byが有効になっている場合は、選択した列にt.from,t.toを追加します。

+0

完全に間違いなく動作していると考えてください。ありがとう! – Nevermore

関連する問題