SQL Server 2008和/或运算符和括号

SQL Server 2008和/或运算符和括号,sql,sql-server,select,where,sql-like,Sql,Sql Server,Select,Where,Sql Like,我与和/或操作员之间有点问题。这很简单,但我遇到了以下问题: WHERE (ID = '111') OR (charge_desc LIKE '%garn%') OR (charge_desc LIKE '%levy%') OR (charge_desc LIKE '%exe%') WHERE (ID = '111') OR (charge_desc LIKE '%garn%') OR

我与和/或操作员之间有点问题。这很简单,但我遇到了以下问题:

WHERE      (ID = '111') OR (charge_desc LIKE '%garn%') OR
                      (charge_desc LIKE '%levy%') OR
                      (charge_desc LIKE '%exe%')
WHERE      (ID = '111') OR (charge_desc LIKE '%garn%') OR
                      (charge_desc LIKE '%levy%') OR
                      (charge_desc LIKE '%exe%')
基本上,我只是试图根据ID111查找关键字。然而,当前查询的情况是,它根据一组不同的ID查找这些关键字。我试着处理括号,我看到了问题所在。因为它不可能是111或者像XYZ。。。但它不可能是和,因为如果你是和,那么它会根据这3个标准来查找ID

我期待做ID 111,寻找garn或levy或exe-不是,但它应该是每一个变化出现,但只有111

我希望这是有道理的。我觉得这是有括号的

我刚试过这个:

WHERE ID = 111
HAVING garn or levy or exe
请原谅我在这里缺乏语法

如果您绝对必须具有id=111,那么这是一个and关系,而不是or关系。然后,可以在其他条件之间使用一系列or运算符:

WHERE ID = '111' AND
      (charge_desc LIKE '%garn%' OR
       charge_desc LIKE '%levy%' OR
       charge_desc LIKE '%exe%')
如果您绝对必须具有id=111,则这是and关系,而不是or关系。然后,可以在其他条件之间使用一系列or运算符:

WHERE ID = '111' AND
      (charge_desc LIKE '%garn%' OR
       charge_desc LIKE '%levy%' OR
       charge_desc LIKE '%exe%')

问题在于括号

让我们看看这个场景:

WHERE      (ID = '111') OR (charge_desc LIKE '%garn%') OR
                      (charge_desc LIKE '%levy%') OR
                      (charge_desc LIKE '%exe%')
WHERE      (ID = '111') OR (charge_desc LIKE '%garn%') OR
                      (charge_desc LIKE '%levy%') OR
                      (charge_desc LIKE '%exe%')
你说的是ID=111或Charg_Desc,比如garn…等等

WHERE      (ID = '111') AND 
                      (charge_desc LIKE '%garn%' OR
                      charge_desc LIKE '%levy%' OR
                      charge_desc LIKE '%exe%')

现在,您要说的是其中ID=111,下面的条件OR用于引入额外的匹配项。请记住,该匹配是ID匹配之外的匹配。

问题在于括号

让我们看看这个场景:

WHERE      (ID = '111') OR (charge_desc LIKE '%garn%') OR
                      (charge_desc LIKE '%levy%') OR
                      (charge_desc LIKE '%exe%')
WHERE      (ID = '111') OR (charge_desc LIKE '%garn%') OR
                      (charge_desc LIKE '%levy%') OR
                      (charge_desc LIKE '%exe%')
你说的是ID=111或Charg_Desc,比如garn…等等

WHERE      (ID = '111') AND 
                      (charge_desc LIKE '%garn%' OR
                      charge_desc LIKE '%levy%' OR
                      charge_desc LIKE '%exe%')

现在,您要说的是其中ID=111,下面的条件OR用于引入额外的匹配项。记住,这场比赛是对身份证比赛的补充。

我想我知道了。。。其中ID=111有garn、levy或exe,对吗?还是我会错过参赛作品?我想我知道了。。。其中ID=111有garn、levy或exe,对吗?还是我会丢失条目?