При использовании выражения «минус» между двумя операторами выдается ошибка. Может кто-то помочь мне с этим?
Ошибка: сообщение 102, уровень 15, состояние 1, строка 101 Неверный синтаксис рядом с 'MINUS'.
SELECT a from (SELECT DISTINCT(name) as a FROM hack WHERE name LIKE '%') a MINUS SELECT b from (SELECT DISTINCT(name) as b FROM hack WHERE name LIKE '[aeiou]%[aeiou]') b
Вы можете упростить логику до:
SELECT DISTINCT name FROM hac WHERE name NOT LIKE '[aeiou]%[aeiou]'
Простое сравнение должно быть гораздо более эффективным, чем множественные сравнения вместе с операторами множеств.
МИНУС существует в Oracle.Увидев ваше сообщение об ошибке, я надеюсь, что вы ищете в SQL Server.
В SQL Server ИСКЛЮЧИТЬ является правильной заменой для МИНУС.
SELECT DISTINCT name FROM hack WHERE name LIKE '%' EXCEPT SELECT DISTINCT name FROM hack WHERE name LIKE '[aeiou]%[aeiou]'