如何分组“和”&使用亚音速2x的单个查询语句中的“或”

时间:2011-12-20 09:43:34

标签: subsonic subsonic2.2

我在转换以下

时遇到了一些麻烦
SELECT * FROM foo f WHERE 
(f.name = 'name' AND f.date = '1980/02/2001') 
OR 
(f.name = 'another name' AND f.date = '1990/02/2001') 

new Select().From(Foo.Schema.TableName)

.Where(Foo.Columns.Name).IsEqualTo('name')
.And(Foo.Columns.Date).IsEqualTo('1980/02/2001')

.Or(Foo.Columns.Name).IsEqualTo('another name')
.And(Foo.Columns.Date).IsEqualTo('1990/02/2001')

正如您所见,我不知道可以隔离两组“AND”的方法,并将它们中的每一组都放在“OR”语句中。

我非常感谢你在这方面的帮助。

1 个答案:

答案 0 :(得分:1)

您需要使用.And Expression()和.Close Expression()

将部分括在括号中

有关示例,请参阅:http://biasecurities.com/2008/07/complex-sql-conditional-statements-with-subsonic-2-1/