2012-02-28 10 views
0

私は3つのテーブルを結合しようとしていますが、すべて同じ構造です。ただし、問題のIDは3つのテーブルのいずれにも存在しない場合もあります。3つのテーブルを結合するIDを使用する

TABLE A id name price sales 
TABLE B id name price sales 
TABLE C id name price sales 

各表は、ある週の製品の価格を表しています。したがって、表Aは現在の週、Bは先週、Cはその前の週です。

私はコードを投稿しますが、正直なところ私が持っているものはまったく働いていません。

+0

私は、いずれかのテーブルに存在する可能性のあるIDを持つテーブルが1つ必要だと付け加えます。その場合は、そこからIDを選択し、他の3つのテーブルを結合します。それが意味をなさないか確認してください。 –

+0

テーブルA、B、またはCの少なくとも1つに存在するすべてのIDに対応するレコードを持つテーブル(IDがないカラムの場合はNULL)を作成しますか? –

+0

質問を理解するための十分な情報を本当に提供していません。 @Bohemianが指摘しているように、テーブルデザインはまったく役に立たない。この宿題ですか?その場合は、宿題タグを追加してください。 –

答えて

2

あなたのデータベース設計は疑わしいです。そうしない場合、あなたは毎週、各テーブルのすべての行を洗い流す必要があるでしょう

PRODUCT: id name 
SALES: id date product_id price sales 

:あなたは、「日付」欄、このような何かを持っている販売用のテーブルを持っている必要があります来週にはロードして...クレイジー。その向こう

必要とされるものは、その後、テーブルA、B、またはCのいずれかからwanted_idにマッチする行を選択している場合は、あなたの質問は、あなたが

0

欲しいものに関してはかなり不明確である:

SELECT * FROM A UNION B UNION C WHERE id=wanted_id; 
関連する問題