1

我正在使用第 3 方 SQL Server 数据库,其中包含下面的两个表(简化),我想将它们加入一个视图。

Document表包含以下列: ID
“其他列”。

DocumentTag表包含以下列 :FromDocumentID ToDocumentID Tag

如何创建表单Document.IDTag、“其他列”的视图?加入每个文档的标签(是的,有重复),而不是在文档标签
中寻找正确的 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 回答