TSQL - столбец varchar max не содержит набора строк в таблице - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть две таблицы:

TableA  
(  
    id int identity(1,1),  
    maxString varchar(max)  
) 

и

TableB  
(  
    id int identity(1,1),  
    excludeString varchar(3072)  
) 

Пример данных в таблице A

|Id | maxString               |
|1  | abcdef \n ijk \n lmn \n |    --\n is a new line character  
|2  | nvc \n tre \n           | 

Пример данных в таблице B

|Id | excludeString |    
|1  | ijk           |  

Q.Я хочу выбрать строки из таблицы A, в которой нет таблицы "excludestring"

В этом примере результатом должна быть 2-я строка в таблице A, поскольку она не содержит "ijk"

select * from TableA where maxstring does not contain (select excludestring from TableB).....

|Id | maxString     |
|2  | nvc \n tre \n |

1 Ответ

0 голосов
/ 27 сентября 2018

Это должно работать:

SELECT TableA.*
FROM TableA
LEFT JOIN TableB ON 1=1
WHERE TableA.maxString NOT LIKE '%' + TableB.excludeString + '%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...