gpt4 book ai didi

sql - 使用动态列表使用带有 LIKE 关键字的左外连接的 on 子句

转载 作者:行者123 更新时间:2023-12-04 21:21:45 25 4
gpt4 key购买 nike

我在表中有一列可以包含字符串 CSV,我想使用 LIKE 对所有这些值运行查询,LIKE 是外连接的 ON 子句的一部分。

DECLARE @to VARCHAR(max) = (SELECT value FROM dbo.table WHERE id = 'key');
DECLARE @t table ( value varchar(max) )
INSERT INTO @t SELECT item FROM fn_csv_splitstring ( @to , ',' )

在获得所有 CSV 值后,我现在希望将临时表中的每个值用作 LIKE 关键字的表达式,类似于下面的选择

 SELECT * FROM 
dbo.table e
where e.value LIKE '%' + (SELECT value FROM [@t]) + '%'

exact语句用在左外连接语句上,ON子句链接两个表行IDe.id = t.id 然后还有一个额外的 AND 表达式 AND e.value LIKE 'col%' 此时我需要能够拥有所有行在我的临时表中作为一堆 OR LIKE '%' 或充当 LIKE '%' + (SELECT value FROM [@t]) + '%'

我试过 IN 关键字,但 IN 似乎只适用于完全匹配,而不适用于通配符。

提前致谢。

最佳答案

使用 EXISTS 检查 e.value 是否类似于任何 t.value(通配符)

SELECT *
FROM dbo.table e
WHERE EXISTS (
SELECT *
FROM @t t
WHERE e.value LIKE '%' + t.value + '%')

关于sql - 使用动态列表使用带有 LIKE 关键字的左外连接的 on 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12673190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com