SELECT *
FROM (
SELECT TOP 100
o.[Incident ID],
o.[Affected CI],
o.Title,
o.[Description],
d.[DB NAME],
ROW_NUMBER() OVER(PARTITION BY o.[Incident ID] ORDER BY o.[Incident ID]) rn
FROM Oracle_Incident_Data.dbo.Oracle_Incidents AS O
LEFT JOIN Oracle_Incident_Data.dbo.DB_NAMES_ORA$ AS D
ON CONCAT(COALESCE(o.[Affected CI],' '), COALESCE(o.[Title],' '), COALESCE(o.[Description],' ')) LIKE '%' + d.[DB NAME] + '%'
) a
WHERE rn = 1
Раздел был рекомендован мне другом, чтобы исправить проблему, с которой я столкнулся с предыдущим запросом, возвращающим когда-либо совпадение, а не найти совпадение в имени базы данных и переход к следующему инцидент. Проблема в том, что сейчас я не совсем понимаю, что она делает, и я хочу настроить соответствие. Затем я хочу выяснить, как включить его в самую длинную строку соответствия, но мне нужно понять, как раздел сначала работает в этом запросе. Заранее спасибо.Мой код работает, но я не знаю почему
Ваш синтаксис предлагает другой db, чем mysql, возможно, сервер sql – Mihai
это сервер sqr, извините, плохой тег. – Travis