Обновить все значения SQL NULL в нескольких столбцах с помощью предложения WHERE уровня столбца?

У нас есть база данных с кучей широких таблиц (по 40-80 столбцов в каждой), и мы только что обнаружили ошибку, которая вводила значения NULL примерно в 500 записей. Значения NULL могут отображаться в любом из столбцов (все столбцы являются целочисленными, см. Изображение ниже), но эти значения NULL вызывают проблемы с одной из наших систем отчетности, которые нельзя легко изменить. Нам необходимо заменить значения NULL конкретными статическими значение (в данном случае 99), но так как это изменение должно производиться для каждого столбца для более чем 250 различных столбцов, я бы предпочел не писать отдельные сценарии TSQL, обновляющие каждый столбец один за другим.

Мой мозг сейчас слишком взволнован, чтобы придумать умное решение , поэтому мой вопрос в том, как я могу выполнить эту задачу для всех столбцов в таблице (или, еще лучше, для нескольких таблиц), используя простой и читаемый SQL-запрос. Я могу достаточно просто выделить записи, используя цепочку WHERE (Answer_1 IS NULL) OR (Answer_2 IS NULL) OR ... или даже номерами AdministrationID для каждой таблицы, но этот трюк не сработает при обновлении, поскольку предложение where для каждой строки, а не для столбца. Что-нибудь посоветуете?

Вот пример запроса, показывающий несколько записей из 4 разных таблиц:

Мой мозг сейчас слишком взвинчен, чтобы придумать умное решение, поэтому мой вопрос заключается в том, как я могу выполнить эту задачу для всех столбцов в таблице (или, еще лучше, для нескольких таблиц), используя простой и читаемый SQL-запрос. Я могу достаточно просто выделить записи, используя цепочку WHERE (Answer_1 IS NULL) OR (Answer_2 IS NULL) OR ... или даже номерами AdministrationID для каждой таблицы, но этот трюк не сработает при обновлении, поскольку предложение where для каждой строки, а не для столбца. Что-нибудь посоветуете?

Вот пример запроса, показывающий несколько записей из 4 разных таблиц:

Мой мозг сейчас слишком взвинчен, чтобы придумать умное решение, поэтому мой вопрос заключается в том, как я могу выполнить эту задачу для всех столбцов в таблице (или, еще лучше, для нескольких таблиц), используя простой и читаемый SQL-запрос. Я могу достаточно просто выделить записи, используя цепочку WHERE (Answer_1 IS NULL) OR (Answer_2 IS NULL) OR ... или даже номерами AdministrationID для каждой таблицы, но этот трюк не сработает при обновлении, поскольку предложение where для каждой строки, а не для столбца. Что-нибудь посоветуете?

Вот пример запроса, показывающий несколько записей из 4 разных таблиц: или даже номерами AdministrationID для каждой таблицы, но этот трюк не сработает при обновлении, поскольку предложение where для каждой строки, а не для столбца. Что-нибудь посоветуете?

Вот пример запроса, показывающий несколько записей из 4 разных таблиц: или даже номерами AdministrationID для каждой таблицы, но этот трюк не сработает при обновлении, поскольку предложение where для каждой строки, а не для столбца. Что-нибудь посоветуете?

Вот пример запроса, показывающий несколько записей из 4 разных таблиц: Sample

7
задан Juan Mellado 3 May 2012 в 15:44
поделиться