Запрос SQL Server: запрос тегов - PullRequest
0 голосов
/ 25 февраля 2012

Я застрял с запросом SQL (для SQL Server).Я новичок в SQL, и я не делаю больших успехов.Я создал тестовый проект для проверки тегов.

У меня есть 3 таблицы следующим образом:

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

Я пытаюсь выбрать всех монстров, которые имеют значение тега 'green-skin'».

1 Ответ

2 голосов
/ 25 февраля 2012

Предполагая, что Monsters.Name, Tags.Value и комбинация Name-ID в TagLookup являются уникальными:

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';
...