2016-10-20 3 views
-1

私はこれを探して、私のシナリオに適用される解決策を見つけられませんでした。SQLで接続テーブルを生成

私はゲーム開発者のデータベースを構築していると私は、接続テーブルを生成したい:

を、私は、次のしている:

Employee 
(
    name, date of birth, department they work at, task they do 
) 

Department 
(
    department name 
) 

Task 
(
    task name 
) 

を、私はdepartmentを示した接続テーブルを生成する必要がありますどのような貢献するtask。私はそれぞれemployee((1つだけ))とtask(1つのみ)をチェックし、一致すると、departmentはそのtaskに寄与します。

アイデアですが、私はオラクル社

+1

「接続テーブル」とはどういう意味ですか?それは3つのテーブルの上のデータを駐車するtxnテーブルか出力テーブルですか? – pahariayogi

+0

混乱してすみません。私は母国語でこの主題を学び、教師の英語への直接の翻訳は明らかに最高ではありません。 E/R図を描画する場合、その接続は菱形のものになります。 したがって、2つのエンティティテーブル間でどのような種類の接続が行われているかを示すテーブル。 – agiro

答えて

1
SELECT DISTINCT "department they work at", "task they do" 
    FROM Employee; 
+0

はい、これは明確な答えです。ありがとうございます。 テーブルに値を割り当てる方法を知りたいだけですか? – agiro

+0

[リンク](http://www.w3schools.com/sql/sql_insert_into_select.asp) 私はこの方法で試していますが、十分ではない値のようなエラーが発生します – agiro

+0

別のコメント、解決しました。明らかに無駄な列を私のテーブルから削除しました。すべての助けをいただきありがとうございます。 – agiro

1

を使用して、それをコーディングする方法を手がかりにしていますが、まず、使用するエンティティを示していますエンティティ関係図を、うまくおよびどの属性を持つ(およびその必要があります主キー)、およびそれらのエンティティ間の関係。リレーションシップは、1対1、1対多、多対1、多対多のいずれかです。 最後のケース(M:N関係)では、データベーステーブルの実装では、このようなM:N関係を記録するために余分なテーブルが必要です。 テーブルで1:N関係を実装する方法は、子テーブルの外部キーを親テーブルの主キーに追加することです。

EDIT:EMPLOYEEテーブルが実際に接続テーブルになっていることが分かりましたので、そのテーブルを照会してDEPTIDとTASKID(その両方の主キーそれぞれのテーブル)に部門とタスクの間の接続を持たせることができます。 DEPTIDの順序で結果を表示するには、DEPTIDにORDERBYを追加するだけです。

関連する問題