0

我在转换以下内容时遇到了一些麻烦

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”语句中的方法。

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

4

1 回答 1

1

您需要使用 .AndExpression() 和 .CloseExpression() 将部件包装在 barckets 中

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

于 2011-12-20T12:58:56.227 回答