私はいくつかのテーブルを持っています:
- いくつかの診断センターのマスター データを含む "DCDetails" テーブル。
- 会社のマスターデータを含む「CompanyDetails」テーブル
- 調査(実施される医療検査のセットを意味する)を含む「調査」表
これらは私のマスターテーブルです。
また、いくつかのマッピング テーブルがあります。 1. 会社から診断センターへのマッピングを含む「CompanyDCMap」テーブル
次の 2 つの基準に基づいて、一連の DC をフィルタリングする必要があります。
- DC は「CompanyDCMap」に属し、
- (1)でフィルタリングされた DC のうち、「InvestigationDCMap」テーブルにも属します。
「CompanyDetails」テーブルと「Investigation」テーブルの主キーがある場合に、CompanyDCMap と InvestigationDCMap の両方にある DC を取得するように、このクエリを作成するにはどうすればよいですか。
2 つのセットを同時にフィルター処理するクエリが思い浮かびません。
親切に私を助けてください。
UPDATE スキーマ: CompanyDetails テーブル:
CompanyID(PRIMARY KEY), CompanyName(NVARCHAR(100))
1 Company1
2 Company2
3 Company3
調査表:
InvestigationID(Primary key) , InvestigationName(NVARCHAR(100))
1 HIV+ Blood Test
2 TMT
3 Urine Test
DCDetails テーブル:
DCID(PRIMARY KEY), DCName(NVARCHAR(100))
1 DC1
2 DC2
3 DC3
CompanyDCMap テーブル
CompanyDCMapID(Primary key), CompanyID(Foreign key), DCId(Foreign Key)
1 1 1
2 1 2
3 2 2
4 2 3
5 3 1
6 3 3
調査DCMap表
InvestigationDCMapID(Primary Key), InvestigationID(Foreign Key), DCId(Foreign Key)
1 1 1
2 1 3
3 2 2
4 2 3
CompanyID = 1 および InvestigationID = 2、SELECT DCId および DCName = を指定したクエリの予期される出力
DCId(Int) DCName(NVARCHAR(100))
2 DC2