SQLで他のテーブルの項目を参照する方法
SQLでは表の中で他の項目を参照することは出来るでしょうか。
具体的にやりたいのは例えば次のようなことです。
得意先リストのデータベースの中に、
(得意先ID,住所,担当者名,TEL,FAX)というフィールドからなる「商品発送先」というテーブルを作ります。
もうひとつ別に、
(得意先ID,住所,担当者名,TEL,FAX)というフィールドを持つ「請求書発送先」というテーブルも作ります。
同じ得意先でも2つの発送先の担当者名だけが違ったり、住所も違ったりする場合があるからです。
しかし大部分の場合は同じなので、そういう場合に両方のテーブルに同じ値を書くとメモリーの無駄ですし、変更があったときに両方を修正しなければなりません。
そこで、例えば「請求書発送先」の"住所"が「商品発送先」の"住所"と同じであれば、その項目には同じ住所を書く替わりに"商品発送先に同じ"とか(あるいはそれを意味するなんらかのコード)を記入しておき、select文などでデータを出力する際に、"商品発送先に同じ"という記述を見つけたら「商品発送先」テーブルの対応する項目の内容を出力する。
というようなことはできないでしょうか。
もちろんデータベースの操作にPHPなどを使ってプログラムを組めばそういうことは簡単に出来ますが、SQLだけでそういうことができる方法があるかどうか知りたいのです。
あるいは、そういうことをしたいのならデータ構造をこういう風に変えた方がいい、というアドバイスでも結構です。
よろしくおねがいします。
お礼
緊急に知りたかったので、大変助かりました。 ありがとうございました。