2017-12-14 13 views
-1

すでに答えがあるかどうかわかりませんが、何も見つけられませんでした。 私はプライマリキーIDを持つOfferという名前のテーブルを持っていて、別のカラムはMaskと言うことができます。外部キーに依存した値を持つテーブルにカラムを追加する

オファー - >

ID Mask 
    1 0 
    2 1 
    3 0 

はのは、私は列の外部キーは、テーブルのオファーのIDを参照することOFFER_IDた完全に異なるテーブルの生産を持っているとしましょう。 外部キーが参照するOffer行のMask値を取得する列Maskを追加したいとします。例えば

生産 - >

ColA ColB Offer_ID Mask 
    .. ..  1  Here I want 0 

EDIT:

表はオファーが存在するので、その列のIDとMask.Tableプロダクションも存在しますので、カラムはありませんOffer_IDテーブルのIDに対する外部キーです。列マスクを追加し、その値をOffer_ID列の値に従って設定します。

ポイントは値を正しく設定するだけではなく、外部キー(Offer_ID)が参照する行の値と同じ値を取得するために、Productionsのマスク列に新しい行が挿入されるたびに必要です。に。

+0

こんにちは。あなたの質問をはっきりと簡潔に表現することができれば、これは簡単にグーグルグーグルです。または、FKについて*何か*を読んだら。あなたは "複合FK"が欲しいです。 PS「値を設定する」と「値を取得する」という意味はどういう意味ですか?あなたは*価値があることを要求されていますか? – philipxy

答えて

1

は、次の2つのテーブルを結合することができます:

SELECT p.cola, p.colb, p.offer_id, o.mask 
FROM production p 
JOIN offer o ON p.offer_id = o.id 
+0

o_id = p.offer_idの値を取るのではなく、offer_maskの値でカラムマスクとこのカラムを "point"に追加します。 –

+0

値の "ポイント"と "その値を取る"とはどういう意味ですか? – GuidoG

+0

オファーテーブルが存在し、その列IDとMask.Table Productionsも存在するため、Offer_ID列も同様です。オファーテーブルのIDに対する外部キーです。列マスクを追加し、その値をOffer_IDに従って設定したい列の値。 –

関連する問題