У меня есть две таблицы, в которых есть 3 общих столбца, однако строки различаются, а указанная строка c для имен содержит дублированные значения для других значений других 2 столбцов, что приводит к отчетам о неоднозначности из y.
Тогда я планировал использовать мою первую таблицу, таблицу A и просто импортировать туда с помощью функции и через вычисляемый столбец (поскольку таблицы A и B обновляются еженедельно), значения из таблицы B.
Теперь это моя попытка создать функцию:
CREATE FUNCTION dbo.ReturnFlag
(
@name nvarchar(max)
, @date smalldatetime
, @DeptID nvarchar(max)
)
RETURNS bit as
begin
return [SpecialFlag]
from TABLEB
where [Name] = @name and [Date] = @date and [department] = @DeptID
end
Однако, конечно, синтаксис неверен. Присоединение к таблицам может быть вариантом, но, опять же, таблицы A и B обновляются еженедельно, и я не хочу присоединяться к этому еженедельнику. Таблицы A и B также используются другим программным обеспечением для отчетов. Моя цель состоит в том, чтобы добавить вычисляемый столбец, который использует вышеуказанную функцию, чтобы получить соответствующее значение из таблицы B. У меня есть 3 нужные мне переменные, поскольку имя не уникально, но если я буду искать в таблице B имя, дату и отдел в в то же время я получу уникальную строку, и оттуда я могу получить значение таблицы B в столбце SpecialFlag. Я считаю, что я придерживаюсь правильного подхода в том смысле, что хочу, чтобы это было одноразовое исправление, поэтому каждый раз, когда я обновляю таблицы A и B, новый вычисляемый столбец обновляется сам, и мне не нужно выполнять другой запрос.