Я пытаюсь придумать способ запросить значения в двух различных столбцах в той же таблице, где набор результатов укажет на экземпляры, где значение columnB не содержит значение columnA.
Например, моя таблица "Nodes" содержит столбцы "NodeName" и "DNS". Значения должны выглядеть подобными следующему:
NodeName DNS
Router1 Router1.mydomain.com
Я хочу выполнить запрос для показа, какие строки имеют значение DNS, которое не содержит (или начинается), значение поля NodeName. Я думаю, что запрос должен функционировать что-то подобное следующему, но очевидно я пропускаю что-то относительно использования "Подобных" в этой ситуации.
SELECT NodeName, DNS
WHERE DNS NOT LIKE 'NodeName%'
Я использую SQL Server 2005, и любые предложения значительно ценились бы... :)
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: спасибо: вы должны опубликовать это как свой собственный ответ...