2016-11-05 5 views
0

私はジョインを全くうまく理解していません!用従業員を受注に参加させるにはどうすればよいですか?

マイ運動コール:

は、従業員が順番が配信される都市に住んで受注のための従業員の姓と名、都市、国や船の都市を表示します。

私はこれまでここに私の答えを開始しました:

SELECT 
Employees.LastName, 
Employees.FirstName, 
Employees.City, 
Employees.Country, 
Orders.ShipCity 
FROM 
Employees, 
Orders 

しかし、その後、私は立ち往生午前のはここから行くかわからないことを実感。プライマリキーと外部キーを見つけるために、両方で共通のエントリを持つテーブルを見つける必要はありますか?私の解決策は何ですか?参考のため

、ここで私は私のソリューションのからデータを取っているところのイメージがある:

enter image description here

+0

ここで行うには、2つの事がありますが、私は思う:まず、使用して、これらの2つのテーブルを結合します彼らの1:多くの関係(すなわち、一方のPKは他方のFKへ)。それを最初にしなさい、あなたはそれを与えるか?ジョインを直接行う方法については、Web上のMySQLの例を参照してください。 「注文が届いた都市に従業員が住んでいる注文」については、まずは心配しないでください。 – halfer

+0

ありがとう。それが私の最初の一歩だと思ったのですが、(私が間違っていると推測している)思考の訓練は、あるテーブルのオプションの1つが他のテーブルに反映されている必要があるということでした。だから、私は従業員からオーダーにあるものを見つける必要があり、その逆もあります。あれは正しいですか?もしそうなら、私は盲目的になるか、あるいは私が作り出す必要があるもの(fname、last etcなど)を両方に渡すことはありませんか? – purplemonkeydishwasher

+0

これを済ませたら、最後に追加する制約があり、それは 'WHERE'節として追加することができます。これは接続の問題です。これは私の最初のコメントと同時に書かれたものです。投稿されました]。 – halfer

答えて

1
SELECT 
Employees.LastName, 
Employees.FirstName, 
Employees.City, 
Employees.Country, 
Orders.ShipCity 
FROM 
Employees inner join Orders 
    on Employees.EmployeeID= Orders.EmployeeID; 
+0

ありがとうございます。しかし、それは私にエラーメッセージ "エラーコード:1054を与えるようです。 'on clause'の 'Employee.EmployeeID'列が不明です。 – purplemonkeydishwasher

+0

男性テーブル名が間違っています。従業員の代わりに従業員を書いてください –

+0

ハハありがとう男!どのように私はこの部分を行う必要があるか知っていますか? "従業員が注文が届いた都市に住んでいるところを注文します。"どのように言いますか? – purplemonkeydishwasher

関連する問題