У меня есть две таблицы в системе. Я пытаюсь создать ВИД, который представляет их обоих вместе, и я не уверен, как это можно сделать или даже если это можно сделать.
Домашние питомцы
PetId INT PK
Name VARCHAR(100)
PetOtherNames
PetID INT PK FK
Name VARCHAR(100) PK
Итак, у меня есть таблица домашних животных. Имя (в этой таблице) является их официальным общим названием. У каждого питомца могут быть другие имена от нуля до многих. Эти имена никогда не отображаются, НО должны использоваться в поисковом запросе.
Итак, давайте посмотрим на некоторые данные.
Данные домашних животных
1. Fred
2. Barney
3. Foo
4. Megan Fox (boom tish)
Данные PetsOtherName
2. B-b-b-Barney
2. Bannana Barney
2. Banannarama
4. TapTap
Итак... если я сделаю ПРОСМОТР этих двух таблиц, я ожидаю следующих результатов....
SELECT *
FROM PetsView
ORDER BY PetId, Name
1. Fred
2. B-b-b-Barney
2. Barney
2. Bannana Barney
2. Banannarama
3. Foo
4. Megan Fox
4. TapTap
И это позволит мне сделать следующее....
SELECT PetId, Name
FROM PetsView
WHERE CONTAINS(Name, 'Fox')
... и возвращается 4. Лиса
SELECT PetId, Name
FROM PetsView
WHERE CONTAINS(Name, 'Fox')
... и возвращает 4. TapTap
ваше здоровье :)
PS. Я не уверен, что придумал название этого поста, поэтому, пожалуйста, отредактируйте его соответствующим образом (или предложите лучшее название, чтобы я его обновил).
Обновление: это для sql2008, но я предполагаю, что результатом будет tsql .. поэтому он должен/может применяться по всем направлениям.