Все предложения пока что соответствуют частичным словам, например. «Я ЕСМЬ БОЛЬШИНСТВО» будет соответствовать стране «США». Вопрос подразумевает, что сопоставление должно выполняться целыми словами.
Если текст был полностью состоял из буквенно-цифровых символов и каждое слово, разделенных пробелом, вы могли бы использовать что-то вроде этого
Descriptions AS D1
LEFT OUTER JOIN Countries AS C1
ON ' ' + D1.description + ' '
LIKE '%' + ' ' + country_name + ' ' + '%'
Однако, «предложение» подразумевает знаки препинания, например, вышеупомянутое не соответствовало бы «Я работаю в США, Гоа и Иране». Вам нужно разграничить слова, прежде чем вы сможете их согласовать. К счастью, уже есть решения этой проблемы, например. полнотекстовый поиск в SQL Server и т. п. Зачем изобретать колесо?
Другая проблема заключается в том, что одна страна может проходить по многим именам, например. моя страна может на законных основаниях называться «Британия», «Великобритания», «ГБ» (согласно моему профилю stackoverflow), «Англия» (если вы спросите моих детей) и «Соединенное Королевство Великобритании и Северной Ирландии» (последнее - это то, что сказано в моем паспорте, и нет, он не будет вписываться в ваш столбец NVARCHAR(50)
;), чтобы назвать лишь некоторые из них.
«Во втором случае нет имени страны, поэтому мне не нужен этот столбец» - вы действительно хотите выбрать столбцы? – onedaywhen
Как насчет фразы «Я ЕСМЬ БОЛЬШИНСТВО США» - должен ли * * соответствовать стране США? – onedaywhen
@onedaywhen: Yousa right! Jarjar binks> –