Sql server MSSQL:使用like运算符筛选条件列表

Sql server MSSQL:使用like运算符筛选条件列表,sql-server,Sql Server,我有一个表,其中有一个“指示”列,如下所示- Indication ----------- Insomnia Depression Anxiety 我还有一张桌子 Condition Code ------------------------------ Short term insomnia 1 Transient insomnia 2 Chronic depression 3 Post natal depression

我有一个表,其中有一个“指示”列,如下所示-

Indication
-----------
Insomnia
Depression
Anxiety
我还有一张桌子

Condition                Code
------------------------------
Short term insomnia      1
Transient insomnia       2
Chronic depression       3
Post natal depression    4
我想使用表1中的列使用like运算符筛选表2。 因此,我希望查询查找
'%discominance%
'%Depression%'
,等等,并给出其中包含这些术语的所有条目

但是,我希望在一个查询中过滤所有指示,而不是对每个指示都进行过滤


您能帮忙吗?

LIKE
操作符连接两个表

SELECT
    C.*,
    I.Indication
FROM
    Condition AS C
    INNER JOIN Indication AS I ON C.Condition LIKE '%' + I.Indication + '%'

使用
LIKE
操作符连接两个表

SELECT
    C.*,
    I.Indication
FROM
    Condition AS C
    INNER JOIN Indication AS I ON C.Condition LIKE '%' + I.Indication + '%'

另一种使用
的方法存在

SELECT * FROM Condition C
WHERE EXISTS
(
 SELECT 1 FROM Indications I WHERE  C.Condition LIKE '%' + I.[Indication] + '%'
)

另一种使用
的方法存在

SELECT * FROM Condition C
WHERE EXISTS
(
 SELECT 1 FROM Indications I WHERE  C.Condition LIKE '%' + I.[Indication] + '%'
)