Я надеюсь, что это не повторение. Я проверил поиски, и я не могу найти ответ на этот вопрос.
У меня есть таблица, в которой первичный ключ установлен как UniqueIdentifier
. У меня также есть другая таблица, в которой есть столбец varchar
, который в основном содержит URL-адрес с строкой запроса, содержащей указатели из моей первой таблицы.
Итак, мои 2 таблицы похожи на:
StateTable
StateID StateName
EB06F84C-15B9-4397-98AD-4A63DA2A238E Active
URLTable
URL
page.aspx?id=EB06F84C-15B9-4397-98AD-4A63DA2A238E
То, что я пытаюсь сделать, - это объединение URLTable
и StateTable
Вкл. значение StateID
содержится в URL-адресе URL-таблицы. Я действительно не понял, как присоединиться. Я даже попробовал просто выбрать одну таблицу и попытался фильтровать значения в StateTable
. Я пробовал сделать что-то вроде этого:
SELECT *
FROM URLTable
WHERE EXISTS
(SELECT *
FROM StateTable
WHERE URL LIKE '%' + StateID + '%')
Даже это не работает, потому что говорит, что я сравниваю UniqueIdentifier
и varchar
.
Есть ли способ присоединиться к 2 таблицам с помощью подобной команды и где подобная команда не сравнивает 2 несовместимых переменных?
Спасибо!
ОБНОВЛЕНИЕ: Позвольте мне добавить некоторые дополнительные вещи, о которых я должен был упомянуть. Запрос предназначен для создания отчетов аналитики. Таблицы являются частью пакета аналитики CMS... поэтому обновление или изменение структуры таблицы не является вариантом.
Во-вторых, эти таблицы видят очень большой объем трафика, так как они захватывают аналитику сайта... так что производительность очень важна. В-третьих, в моем примере я сказал id =, но может быть несколько значений, таких как id=guid&user=guid&date=date
.
ОБНОВЛЕНИЕ 2: Еще одна вещь, которую я только что осознал в своем ужасе, состоит в том, что иногда строка запроса содержит тире, удаленные из GUID.. а иногда и нет.. поэтому, если я не ошибаюсь, я не могу наложить подстроку на UniqueIdentifier
. Может кто-нибудь подтвердить? вздох. Я получил его для работы с помощью
REPLACE('-','',CONVERT(varchar(50), a.AutomationStateId))
но теперь меня очень беспокоит проблема с производительностью, так как таблица URL очень большая. Однако это может быть характер зверя, если только я ничего не могу сделать.