Сравнение 2 столбцов в той же таблице с “Подобной” функцией

Я пытаюсь придумать способ запросить значения в двух различных столбцах в той же таблице, где набор результатов укажет на экземпляры, где значение columnB не содержит значение columnA.

Например, моя таблица "Nodes" содержит столбцы "NodeName" и "DNS". Значения должны выглядеть подобными следующему:

NodeName    DNS
Router1     Router1.mydomain.com

Я хочу выполнить запрос для показа, какие строки имеют значение DNS, которое не содержит (или начинается), значение поля NodeName. Я думаю, что запрос должен функционировать что-то подобное следующему, но очевидно я пропускаю что-то относительно использования "Подобных" в этой ситуации.

SELECT NodeName, DNS
WHERE DNS NOT LIKE 'NodeName%'

Я использую SQL Server 2005, и любые предложения значительно ценились бы... :)

6
задан gbn 8 March 2010 в 18:18
поделиться

1 ответ

SELECT NodeName, DNS
WHERE DNS NOT LIKE NodeName + '%' AND DNS NOT LIKE '%' + NodeName + '%'

Ваш DNS LIKE 'NodeName%' сравнивает строковый литерал "NodeName" с DNS

Редактировать:

Nissan Fan добавил NOT LIKE '%' + NodeName + '%', что означает, что NOT LIKE NodeName + '%' не нужен.

Это зависит от того, нужно ли "содержит" или "начинается с": выбирайте сами.

@Nissan Fan: спасибо: вы должны опубликовать это как свой собственный ответ...

5
ответ дан 17 December 2019 в 04:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: