2017-06-06 8 views
0

私は航空機チケットのWebサイトを構築しています.2つのテーブルAIRPORTSとAIRPLANESがあります。AIRPLANESテーブルには、 ID_DESTINATION)と空港の出発地ID(ID_ORIGIN)を入力して、AIRPORTSテーブルのAIRPORT_NAMEとAIRPORT_NAMEを起点としたwhileを使用してすべてのAIRPLANをループすることです。PHP MYSQL。別のテーブルの2つの異なるIDに基づいてテーブルから同じデータを取得する方法

これは私が使用しているクエリです:事前に

SELECT a.ID_PLANE, a.PLANE_NAME, 
     a.ID_ORIGIN, a.ID_DESTINATION, 
     a.TAKEOFF, a.LANDING, a.PRICE, 
     b.ID_AIRPORT, b.AIRPORT_NAME 
FROM AIRPLANES AS a 
LEFT JOIN AIRPORTS AS b 
ON a.ID_ORIGIN = b.ID_AIRPORT 

感謝。

+2

のStackOverflowへようこそ!特定のプログラミング問題に悩まされた場合には、お手伝いをしてうれしく思いますが、ここではコードを書くつもりはありません。 [**どのような質問がここにありますか?**](https://stackoverflow.com/help/how-to-ask) ://stackoverflow.com/help/on-topic)。 –

+0

サンプルデータと期待される結果を提供してください。異なるエイリアスを持つ空港には2つの結合が必要なようです。一度鼠径部のために、一度目的地のために。 SQLは、ループ内で一度に1つずつ動作する「SETS」の点で最適に動作し、データベースシステムにとって最適です。 – xQbert

+0

@AlexHowansky申し訳ありませんが、誰かにコードを書くことを求めているわけではありません。「別のテーブルから2つの異なるIDに基づいて特定のテーブルの同じデータを取得するにはどうすればよいですか?参加する?連合?トランザクション?私はそれらをすべて試してみましたが、まだ動作していません –

答えて

0

私はあなただけで、各航空機のための空港の名前をしたいと仮定すると、先 のための原点DのためのOを別名お知らせ(飛行)

SELECT a.ID_PLANE 
    , a.PLANE_NAME 
    , a.ID_ORIGIN 
    , a.ID_DESTINATION 
    , a.TAKEOFF 
    , a.LANDING 
    , a.PRICE 
    , o.ID_AIRPORT as Orig_ID 
    , o.AIRPORT_NAME Orig_Name 
    , d.ID_AIRPORT as Dest_ID 
    , d.AIRPORT_NAME Dest_Name 
FROM AIRPLANES AS a 
LEFT JOIN AIRPORTS AS o 
    ON a.ID_ORIGIN = b.ID_AIRPORT 
LEFT JOIN AIRPORTS d 
    ON a.ID_DESTINATION = b.ID_AIRPORT 
+0

ありがとうございます、これが私の問題を解決します! –

関連する問題