2016-10-13 24 views
1

私は3つのテーブルTable1 (Name, Roll), B(ID, School) & C (ID, State)リンク条件付きで二つのテーブルに一つのキー

Roll in Table 1を持っているが、私はB(ID)またはC(ID)Table1(Roll)を参照するにはどうすればよいの外部キー

のですか?

条件Roll > 500場合、参照はBにあるべきとRoll <= 500あれば、それは我々がTable1を修正するために許可されている場合は、複数の参照を作成する一般的な方法は何ですかC

に参照するべきであるということですか? Viz。条件に応じて、任意のテーブル(A、B、..、X、Y、...)のTable1をリンクします。 SQLでも可能ですか?

追加編集:私はそれを参照する必要はありません、私はそれを参照する必要があります。

+0

できません。特定のFKは、唯一のテーブルです。複雑な複合外部キー*を実装することはできますが、 – Drew

+0

@Drew:複合外部キーはどのように実装されますか? – FlyingAura

+0

私は、この検索で​​見られる4つのうち2つまたは3つを書いたと思います(Here)(http://stackoverflow.com/questions/tagged/mysql+foreign-keys+composite)...そして私はそのようにタグ付けしました。おそらくそれらは役に立つかもしれません。彼らは確かに不眠症を治すことができます。 – Drew

答えて

-1

t-sql/pl-sqlを使用している場合は、適切なテーブルを参照して参照するためのフローや関数を作成することをお勧めします。あなたが成し遂げたいと思っているものと、あなたが働いているものについてもっと詳しく教えてください。

+0

私はMysqlを使っています。表1からBの複数の参照を達成する必要があります。ロール> 500&Cのロールが500未満の場合は、表1からBへの参照が必要です – FlyingAura

関連する問題