2012-02-21 21 views
-1

ウェブサイトの通知システムを設計したいと思います。このシステムで私は行動と活動を保持します。 Actionは、結合したいテーブルを指定し、activityは目的の要素のidです。たとえば、アクションを1と指定した場合、私はtable1に行き、レコード 'activity'を取得します。すべてのテーブルを結合して空の列を削除したままにするのではなく、私は条件文でより効率的な方法を望んでいます。Mysql条件付き選択 - 参加

+1

それをデザインし、問題が発生した場合は、具体的な内容を尋ねてください。すでに何かを設計している場合は、テーブル構造やサンプルのクエリ/データなど、より多くの情報が問題の原因を特定するのに役立ちます。 –

答えて

0

私が必要とするものを理解している場合は、1つのテーブルの値を使用して結合するテーブルを決定する必要があります。

私が知る限り、1つのクエリでそれを行う方法はありません。あなたの最善の策はおそらく、あなたのウェブサイトのコード(PHPやそれが何であるか)でクエリを構築し、そこから行くことでしょう。

0

スケールすることを意図しており、いくつかのテーブルの静的リストではないと仮定すると、入力変数に基づいて別のテーブルを持つと、十分に一般的ではないデータベース設計を示すようです。一般に、これは、検索する可能性のあるすべてのサブテーブルを1つのテーブルにまとめ、探しているデータセットを示す新しいフィールドを持つことで実現します。

テーブルが本当に類似していないため、包括的なテーブルに集約できない場合は、テーブル名だけでなくクエリの変更が多くなる可能性があります。最初からタスク(右側の表を含む)これは、DB操作ごとに異なるクエリを使用することを意味します。テーブルごとに1つの可能性があります。アクセスするプログラミング言語でクエリを記述します。