Я новичок SQL на сервере и создал оператор WITH для выполнения сравнения наборов данных.
Поскольку я выполняю серию манипуляций, сначала консолидирую свой основной набор данных A из ряда вторичных таблиц, а затем выверки, а затем фильтров для проверки конкретных c условий. Я подумал, что для этой цели лучше всего использовать CTE.
Теперь я нахожусь на этапе, на котором я определил несколько категорий исключений, которые я хотел бы добавить в финальную таблицу в конце оператора, и хотел бы пометить их в столбце fre sh как I go. См. Пример ниже:
Exception_Table_1
(col1, col2, col3, col4, col5)
AS
(
SELECT * FROM Source_Table WHERE <filter here>
)
;
Exception_Table_2
(col1, col2, col3, col4, col5)
AS
(
SELECT * FROM Source_Table WHERE <filter here>
)
INSERT INTO
destination_table
SELECT * FROM Exception_Table_1
UNION ALL
SELECT * FROM Exception_Table_2
Структура таблицы, типы данных одинаковы во всей исходной таблице, и результирующие таблицы исключений являются фильтрованными представлениями этой исходной таблицы. В качестве дополнительного осложнения таблицы исключений подвергаются дальнейшей сегментации, но я оставлю это пока.
Мой вопрос - могу ли я добавить новый столбец в обеих таблицах исключений 1 и 2, который имеет значение по умолчанию «1» и «2», что указывает на природу исключения, которое также может быть скопировано в целевую_таблицу?
Мой код работает, как показано выше - но так как нет идентификатора, я также имел создавать «настоящие» таблицы для таблиц исключений 1 и 2, просто для подсчета чисел в каждой категории, что в первую очередь лишает смысла использование CTE.
Я смотрел в другом месте на форуме, и нет, использование ALTER / UPDATE, похоже, не помогает.
SQL Server 2017 кстати.
Я с нетерпением жду ваших ответов и благодарю вас за то, что нашли время помочь; высоко ценится!