0

我有以下情况:

表和列(数据库类型:Microsoft Sql Server 2005):

表:条目

  • 条目ID
  • ...其他不重要的列

表:属性

  • 属性ID

表:EntryAttributes

  • EntryID [关系到:Entries->EntryID]
  • AttributeID [关系到: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 表达式。

感谢您阅读我的帖子!

此致!

4

1 回答 1

0

这种情况的解决方案是加入我将选择的每个 [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)
于 2010-08-28T18:30:18.243 回答