首页 > 解决方案 > 有没有办法在 SQL Server 中组合

问题描述

select ptidentifier, patientname, patientage, patientcreditcards
from patients with (nolock)
where ptidentifier like '%3026737%'

假设我有 20 个不同的患者标识符,为了点赞,我需要一次插入一个,有没有办法结合inlike?所以我可以同时搜索多个患者标识符?

我使用 as 是因为患者标识符与 302673 不完全相同,因为这就是提供给我的所有信息。

标签: sqloptimizationsql-likesql-in

解决方案


一种方法是:

where ptidentifier like '%123%' or
      ptidentifier like '%456%' or
      . . .

您的代码看起来像 SQL Server,所以这是另一种方法:

select p.*
from patients p
where exists (select 1
              from (values ('123'), ('456'), . . .) v(identifier)
              where p.ptidentifier like '%' + v.identifier + '%'

推荐阅读