0
"sqllite3"を学び始めています。私は理解できなかった問題に直面しました。インナー2列2列のテーブルを同じIDにする
私は、これらのテーブルに
を持っていると私は、各乗客の 次の日付を選択します: 名前、性別、年齢、チケット、運賃、原点ポートと宛先ポートを。 しかし、発信元ポートと宛先ポートでは、番号ではなくポート名を表示します。 私はポート以外のすべてのデータを表示するように管理しました。私は別名を使用する必要があるが、方法はわかりません。 誰でもお手伝いできますか?
select Passengers.Passengerid as "PassengerId", Classes.Class_Name as
"Passenger_Class", Passengers.Name, Passengers.Sex,Passengers.Age,
Travels.Ticket,Travels.Fare, Ports.Port_ID as "Embarked",Ports.Port_ID as
"Destination" from Passengers
inner join Travels on Passengers.Passengerid = Travels.Passengerid
inner join Travel_Options on Travels.Travel_ID = Travel_Options.Travel_ID
inner join Ports on Travel_Options.Origin_Port_ID = Ports.Port_ID
inner join Ports on Travel_Options.Destination_ID = Ports.Port_ID
inner join Classes on Travel_Options.Class_ID = Classes.Class_ID;
は、内部ポートはp2'として 'p2'を使用する内部結合p1'と'ポートに参加 'のように同じ名前のテーブルに別のエイリアスを与える:実際には、私はすべてのあなたのテーブルのための表の別名をお勧めします'p1.Ports.Port_ID'列のテーブル名である場合' p2.whatevercolumn' –
'Travel_Options.Origin_Port_ID = Ports.Port_ID' becames' Travel_Options.Origin_Port_ID = p1.Port_ID' ... –