多个OR / AND。搜索子句无效

时间:2014-01-29 18:21:07

标签: sql

这是我的问题:

      cs.SqlWhereClause = "([IsDiscontinued] = 0 AND [Visible] = 1 AND [ProductAvailableForSale] = 1) AND ";
        cs.SqlWhereClause += "[LongDescription] like '%ct.%tw.%' ";
        cs.SqlWhereClause += "OR ([LongDescription] like '%\"' ";
        cs.SqlWhereClause += "OR [LongDescription] like '%ct.%' ";
        cs.SqlWhereClause += "OR [LongDescription] like '%14k%' ";
        cs.SqlWhereClause += "OR [LongDescription] like '%18k%' ";
        cs.SqlWhereClause += "OR [LongDescription] like '%10k%' ";
        cs.SqlWhereClause += "OR [LongDescription] like '%12k%' ";
        cs.SqlWhereClause += "OR [LongDescription] like '%cttw%')";

这是我想要归还的内容:

以下项目:未停产,可见且可供销售

其长篇描述类似于'%ct.tw.%'的项目或类似'%ct。%'等等。

在第一个OR之后和最后一个OR之后添加括号是给我错误的。我无法调试它。任何想法?

1 个答案:

答案 0 :(得分:1)

你应该在第一个或之前添加第一个paranthesis。像这样:

cs.SqlWhereClause = "([IsDiscontinued] = 0 AND [Visible] = 1 AND [ProductAvailableForSale] = 1) AND ";
cs.SqlWhereClause += "([LongDescription] like '%ct.%tw.%' ";
cs.SqlWhereClause += "OR [LongDescription] like '%\"' ";
cs.SqlWhereClause += "OR [LongDescription] like '%ct.%' ";
cs.SqlWhereClause += "OR [LongDescription] like '%14k%' ";
cs.SqlWhereClause += "OR [LongDescription] like '%18k%' ";
cs.SqlWhereClause += "OR [LongDescription] like '%10k%' ";
cs.SqlWhereClause += "OR [LongDescription] like '%12k%' ";
cs.SqlWhereClause += "OR [LongDescription] like '%cttw%')";