1

以下の2つのテーブル(簡略化)を含むサードパーティのSQL Serverデータベースを使用しており、これらを1つのビューに結合したいと考えています。

ドキュメントテーブルには、次の列が含まれています 。IDキー
「その他の列」。

DocumentTagテーブルには、次の列が含まれてい ますFromDocumentIDToDocumentID タグ

Document.IDTag、 "othercolumns"のフォームのビューを作成するにはどうすればよいですか?ドキュメントタグテーブル
で正しいID範囲を探す代わりに、各ドキュメントをそのタグに結合します(はい、繰り返します) 。

[編集]例:

ドキュメントテーブル

ID    | Description | Owner ....
------+-------------+---------
1     | blah        | me 
2     | blah 2      | me
3     | blah 3      | Alice
4     | blah 4      | Bob
5     | blah blah   | me 
6     | blah blah 2 | Bob
7     | blah blah 3 | Alice
8     | blah blah 4 | Alice

ドキュメントタグテーブル

FromDocumentID | ToDocumentID | Tag         | ...
---------------+--------------+-------------+----
1              | 3            | Bananas
4              | 4            | Crocodiles
5              | 5            | Bananas
6              | 8            | Donuts

私が欲しいのは

ID    | Description | Owner  | Tag      | ....
------+-------------+--------+----------+-----
1     | blah        | me     | Bananas
2     | blah 2      | me     | Bananas
3     | blah 3      | Alice  | Bananas
4     | blah 4      | Bob    | Crocodiles
5     | blah blah   | me     | Bananas
6     | blah blah 2 | Bob    | Donuts
7     | blah blah 3 | Alice  | Donuts
8     | blah blah 4 | Alice  | Donuts
4

1 に答える 1

1

タグが範囲ごとに多くのドキュメントに適用される場合

select D.ID, T.Tag, D.Other1, D.Other2
from Document D
left join DocumentTag T on D.ID between T.FromDocumentID and T.ToDocumentID

タグがIDによって2つの特定のドキュメントに適用される場合。これは、ビューの作成も示しています

create View DocumentWithTag
as
select D.ID, T.Tag, D.Other1, D.Other2
from Document D
left join DocumentTag T on D.ID in (T.FromDocumentID, T.ToDocumentID)
于 2012-09-27T23:30:15.040 に答える