SQL Server查询:标记查询

SQL Server查询:标记查询,sql,sql-server,join,tagging,Sql,Sql Server,Join,Tagging,我一直在使用SQL查询(针对SQL Server)。我是SQL新手,没有什么进展。我已经创建了一个测试项目来测试标记 我有以下三个表格: Monster: Name Description EatsPeople Vampire Pale, afraid of light True Ghost See-through, annoying False Wraith Green-ish, ugly, dumb True TagLook

我一直在使用SQL查询(针对SQL Server)。我是SQL新手,没有什么进展。我已经创建了一个测试项目来测试标记

我有以下三个表格:

Monster: 
Name     Description              EatsPeople
Vampire  Pale, afraid of light    True
Ghost    See-through, annoying    False
Wraith   Green-ish, ugly, dumb    True

TagLookup:
Name    ID
Ghost   1
Ghost   2
Wraith  1

Tags:
ID    Text                      Value
1     Green                     green-skin
2     Screams like a banshee    banshee-call

我正在尝试选择所有具有标记值“绿色皮肤”的怪物。

假设
怪物.Name
标记.value
、以及
标记查找
中的
名称ID
组合都是唯一的:

SELECT m.Name, m.Description, m.EatsPeople
  FROM dbo.Monster AS m
  INNER JOIN dbo.TagLookup AS tl
    ON m.Name = tl.Name
  INNER JOIN dbo.Tags AS t
    ON t.ID = tl.ID
    AND t.Value = 'green-skin';