私のDBテーブルは、そのようなものです:別の場所でテーブルに同じ列を2回追加するにはどうすればよいですか?
- ルート - 列を持つルートのテーブル、:
。 destination_id
b。 departure_id - 宛先 - すべての宛先の表。列:
a。 destination_id
b。 destination_name。
すべての宛先も出発地であるため、両方のテーブルを1つ使用します。次のように
関係がある:
1 routes.destination_id = destinations.destination_id、
も
2 routes.departure_id = destinations.destination_id
説明したように、私が必要結果は:
routes.destination_id = 3とroutes.departure_id = 5の場合、それぞれを宛先表の対応する名前に一致させ、正しい列名を結果に入れる必要があります。 departure_cit yと同じです。今、私は両方の異なるIDのために同じ名前を取得するので、もしdestination_id#3がニューヨークでdestination_id#5がラスベガスなら、私はニューヨークと私の両方が必要なものではないでしょう。
これまでのところ、私のクエリは以下のようになります。あなたはJOINを使用するように私に言っている前に
SELECT routes.*, destinations.destination_name as 'departure_city', destinations.destination_name as 'destination_city'
FROM routes, destinations
WHERE routes.route_departure_id = destinations.destination_id
、私は登録しようとそれを行っているが、列名を変更することができませんでした!また、私はいつもすべてのテーブルの列を受け取りました、そして、私はJOINで必要な列だけを得る方法を知らない!
私の問題は、宛先から2回、1回はroute_destination、もう1回はroute_departureで値を表示できないということです。あなたはを探している
この質問のクエリは、新しいJOINキーワードの代わりに古い "カンマ"構文を使用していますが、FROM句に2つのテーブルの結合操作を指定しています。 (ジョイン操作のために旧式のコンマ構文を取り除き、JOINキーワードを使用することが望ましいが、これは実際にはクエリを変更するものではない。)SELECTリストの式にエイリアスを割り当てて、結果セットの列に名前を割り当てることができます。 "departure"都市を検索するための結合操作と、 "arrival"都市を検索するための* second * join操作が必要です。 – spencer7593