0

addressesこれらの 2 つのテーブルpeoplecompanies.

address_linksそこで、フィールドを持つというaddress_id名前の別のテーブルを作成し、連絡先 ID をレコードまたはレコードcontact_idから取得できるようにしました。peoplecompanies

したがって、レコードの作成によって正しいテーブルを指す別のフィールドが必要です。しかし、クエリ リストでそのアドレスの所有者の名前を表示するクエリを作成するときに、その解釈を自動化するにはどうすればよいでしょうか? テーブルを選択して 3 番目のフィールドをケースに入れようとIFしましたが、うまくいきませんでした。

説明注: 一部の住所は、複数の人の自宅または職場である場合があります。

4

1 に答える 1

2

異なるテーブルにリンクする必要がある場合は、通常、それぞれに個別のリンク テーブルが必要です。これにより、データベースは参照整合性を強制でき、特別な if ステートメントが不要になります。また、特別な実装の詳細を理解しなくても、別の開発者がデータベースを見た場合に、データベースが理解しやすくなります。

例のテーブル (列):

 Addresses (AddressId, Address, City, State, Zip, ...)
 Persons (PersonId, FirstName, ...)
 Companies (CompanyId, Name, ...)

 AddressPersonLinks (AddressId, PersonId)
 AddressCompanyLinks (AddressId, CompanyId)
于 2013-06-15T18:10:08.087 に答える