объект не содержит суффиксов, определенных в пользовательской таблице SQL

ребята!

Я не знаю, как выбирать объекты, не содержащие суффиксов. Объявляю входную таблицу суффиксов

  @suffixes  dbo.tvp_stringArray READONLY

А потом я выбираю свои объекты

SELECT [Object]
FROM [myUsers]
WHERE [Object] IS NOT LIKE (SELECT suffix FROM suffixes)

Как добавить "%" к выбранному суффиксу?


person Matt    schedule 18.09.2015    source источник
comment
Так же, как вы добавляете любую другую строку? ... (SELECT '%' + suffix + '%' FROM ...   -  person Bridge    schedule 18.09.2015
comment
Но IS NOT LIKE ‹несколько значений› работать не будет. Вам нужно будет использовать EXISTS или LEFT JOIN / IS NULL   -  person larsts    schedule 18.09.2015


Ответы (2)


Как указывали другие, вы можете объединить% с суффиксом при использовании оператора LIKE.

Но чтобы принять во внимание тот факт, что вам нужны только те объекты, которые не соответствуют ни одному из суффиксов, при условии, что их больше одного, вы можете добавить NOT EXISTS следующим образом:

SELECT *
FROM MyUsers 
WHERE NOT EXISTS (SELECT 1 FROM Suffixes WHERE MyUsers.Object LIKE '%' + suffix );

SQL Fiddle

person larsts    schedule 18.09.2015

попробуй это :

SELECT [Object]
FROM [myUsers]
WHERE [Object] IS NOT LIKE (SELECT  Cast(suffix as nvarchar(1000)) + '%' FROM suffixes)

Ссылка для ссылки

person BhushanK    schedule 18.09.2015