2016-04-11 18 views
0

私はいくつかの同様の質問を見ましたが、正確には何をしようとしているのか分かりませんでした。MySQLの別のテーブルで同時に2列を参照する単一の列

は、だから私は2列を持つプランIDを持っている計画表を持ってexempleの主キー(plan_idおよび周波数)、のように:、周波数が1:1(プラン1は、毎月の課金)
ID
id:1、頻度:6(計画1、6ヶ月ごとに請求)
ID:1、頻度:12(計画1、12ヶ月ごとに請求)
ID:2、頻度:1(計画2、毎月請求されます)
...

テーブル「ウェブサイト」では、すべての行がこれらの計画の1つを指しています。計画テーブルの2つの列の組み合わせを何らかの形で指し示す列が1つだけあるようにする方法はありますか?ウェブサイトのテーブルにはすでにたくさんの列があり、それ以上の列を2つ避けようとしています。 COMMENT AFTER

UPDATE:
私は計画のすべての異なるバージョンごとに異なるplan_idを持っていることについて考えたが、彼らはすべての関連する必要があるので、すべての周波数1,6,12で1を計画するには、リンクする必要があります

+0

各行に一意のIDを設定するだけです。 –

+0

これはできません。なぜなら、各プランは完全にリンク解除されるからです。計画1,6,12の計画は同じ計画であることを知る必要があります – NaturalBornCamper

+0

これは、各行に一意の識別子を持つことを排除するものではありません。計画を指定する列がまだあります。 –

答えて

0

解決策が見つかりました!

私の質問を削除することと、あまりにも具体的な質問である可能性があるので、私の答えを提供することとの間に躊躇しました。しかし、それが将来的に他の人を助ける場合には、ここにあります:

私はこれをやっていないのは馬鹿だと感じています。新しい独立したプランを作成するときにauto_increment 、または他のグループと関連する目的のグループに設定されます。だから、私はただ1つの列に主キーを残しておきます。 (プラン1、6ヶ月ごとに請求されます)
id:1、頻度:1(プラン1、毎月請求)

id:1、頻度:6 :1、周波数:12(プラン1、12か月ごとに充電)
ID:2、周波数:1
...

を(プラン2は、毎月課金)それはこのようになります:
ID :1、グループ:1、頻度:1(プラン1、毎月請求)
ID:2、グループ:1、頻度:6(プラン1、6ヶ月ごとに請求)
ID:3、基:1、周波数:12(プラン1、12ヶ月毎に荷電)
ID:4、群:2、周波数:1(プラン2、毎月荷電)
...

このように、Webサイトのテーブルは、プランを参照するための1つの "plan_id"カラムを必要とするだけで、1つのIDでプランを取得することができ、idから同じグループのすべてのプランを取得できます。

関連する問題