USE tempdb
CREATE TABLE A
(
id INT,
a_desc VARCHAR(100)
)
INSERT INTO A
VALUES (1, 'vish'),(2,'hp'),(3,'IBM'),(4,'google')
SELECT * FROM A
CREATE TABLE B
(
id INT,
b_desc VARCHAR(100)
)
INSERT INTO B
VALUES (1, 'IBM[SR4040][SR3939]'),(2,'hp[GR3939]')
SELECT * FROM B
SELECT *
FROM A
WHERE a_desc LIKE (SELECT b_desc FROM B) -- IN with LIKE problem here
表 B 中的结尾字符串始终不相同,因此我不能使用修剪方法删除某些字符并在 In 子句中匹配。
-- 上面抛出错误的子查询返回超过 1 个值
- 我在两个表中都有一千行只是为了举例我创建了这个例子
--excepted output
--IBM
--hp
--来自A表