用于搜索多个项目的 Where 子句

Where clause to search for muliple items

我有一个 table,它有一个问题名称字段和一个辖区名称字段。我想搜索属于同一辖区名称的多个问题名称。

SELECT TOP (100000) [Master_Incident_Number]
      ,[Response_Date]
      ,[Problem]
      ,[Location_Name]
      ,[Address]
      ,[Apartment]
      ,[City]
      ,[Jurisdiction]
      ,[MethodOfCallRcvd]
      ,[Call_Disposition]
      ,[CallTaking_Performed_By]
      ,[CallClosing_Performed_By]
      FROM [Reporting_System].[dbo].[Response_Master_Incident]  
      where Jurisdiction like 'Sector 5%' 
        and Response_Date >= '2022-01-01 00:00:00.000' 
        and Problem like 'Building / Security Check-LCL' 
         or Problem like 'Park and Walk-LCL'

当我 运行 这个时,我得到 return 与我为 'Sector 5%' 之类的司法管辖区输入的内容不匹配。我怎样才能得到它 return 个带有“类似管辖权”字段的项目仅 'Sector 5%'。

如果我只搜索一种问题名称类型,则搜索有效,并且只有 returns 个管辖区名称如“5”。但是,如果我添加一个额外的问题名称类型,它 return 具有这 2 个问题名称类型的所有辖区名称。

在这些情况下总是 OR 条件。这里的运算符优先级与您认为的不一样。你需要括号:

  where Jurisdiction like 'Sector 5%' 
    and Response_Date >= '2022-01-01 00:00:00.000' 
    and (Problem like 'Building / Security Check-LCL' 
        or Problem like 'Park and Walk-LCL')

但是由于这些检查中都没有通配符,我们也可以这样简化它:

  where Jurisdiction like 'Sector 5%' 
    and Response_Date >= '2022-01-01 00:00:00.000' 
    and Problem IN ('Building / Security Check-LCL','Park and Walk-LCL')