Фильтрация данных из промежуточной таблицы с помощью ссылки AND - PullRequest
0 голосов
/ 28 августа 2010

У меня следующий сценарий:

Таблицы и столбцы (тип базы данных: Microsoft Sql Server 2005):

Таблица: записи

  • EntryID
  • ... другие неважные столбцы

Таблица: атрибуты

  • AttributeID

Таблица: EntryAttributes

  • EntryID [Releation To: Entries-> EntryID]
  • AttributeID [Releation To: Attributes-> AttributeID]

Итак, как я могу выбрать толькоЗаписи, которые содержат несколько атрибутов, таких как следующий оператор SQL (оператор не работает со ссылкой AND ):

SELECT *
FROM  [Entries] AS [t0]
INNER JOIN [EntryAttributes] AS [t1] ON [t0].[EntryID] = [t1].[EntryID]
WHERE ([t1].[AttributeID] = 1) AND ([t1].[AttributeID] = 1)

Как построить правильный оператор SQL?Я уверен, что где-то уже есть решение, но я не знаю, какие ключевые слова мне следует использовать для поиска этой проблемы.

Я использую «Linq to Entites», так что, возможно, есть простое выражение Linq длячто.

Спасибо за чтение моего поста!

С уважением!

1 Ответ

0 голосов
/ 28 августа 2010

Решение для этого сценария состоит в том, чтобы присоединиться к каждому [AttributeID], который я выбрал бы:

SELECT * 
FROM  [Entries] AS [t0] 
INNER JOIN [EntryAttributes] AS [t1] ON [t0].[EntryID] = [t1].[EntryID] 
INNER JOIN [EntryAttributes] AS [t2] ON [t0].[EntryID] = [t2].[EntryID] 
WHERE ([t1].[AttributeID] = 1) AND ([t2].[AttributeID] = 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...