Проблема с использованием предложения MINUS в SQL - PullRequest
0 голосов
/ 14 мая 2019

При использовании выражения «минус» между двумя операторами выдается ошибка. Может кто-то помочь мне с этим?

Ошибка: сообщение 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

Ответы [ 2 ]

1 голос
/ 14 мая 2019

Вы можете упростить логику до:

SELECT DISTINCT name 
FROM hac
WHERE name NOT LIKE '[aeiou]%[aeiou]'

Простое сравнение должно быть гораздо более эффективным, чем множественные сравнения вместе с операторами множеств.

1 голос
/ 14 мая 2019

МИНУС существует в Oracle.Увидев ваше сообщение об ошибке, я надеюсь, что вы ищете в SQL Server.

В SQL Server ИСКЛЮЧИТЬ является правильной заменой для МИНУС.

SELECT DISTINCT name        
FROM hack
WHERE name LIKE '%'

EXCEPT

SELECT DISTINCT name
FROM hack
WHERE name LIKE '[aeiou]%[aeiou]'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...