条件付き結合を検索しましたが、私が試みていることとは異なることをしようとしているようです。質問のために問題を少し単純化します。
私は3つのテーブルを持っています:Users, Clients, and Employees.
テーブルには 2 つのUsers
列があり、AssociatedID and UserType.
UserType
またはandは Clients または Employees テーブルの対応する ID です"Client"
。"Employee,"
AssociatedID
問題は、クライアントと従業員の両方が ID に整数を使用するため、各テーブルがまったく異なるものに対して同じ ID を持つ可能性があることです (この問題を回避する GUID とは対照的に)。
私が欲しいのは、Users の行を見て、UserType が Employee の場合は Employees テーブルの ID に JOIN AssociatedID を、UserType が Client の場合は Clients テーブルの ID に JOIN AssocaitedID を返すクエリです。したがって、Clients と Employees の両方に Name 列がある場合、クライアントか従業員かに関係なく、各ユーザーの名前をすべて取得できます。ここで違いが生じる場合は、SQL Server 2008 R2 を使用しています。