Чтобы просто обновить нулевые значения в одном столбце, сделайте это;
UPDATE TableName
SET FieldName = ISNULL(FieldName,'NewValue')
Если вы хотите обновить все столбцы, когда они все являются NULL, то вы можете сделать что-то вроде этого
UPDATE TableName
SET
Field1 = 'Value1'
,Field2 = 'Value2'
,Field3 = 'Value3'
WHERE
Field1 IS NULL
AND Field2 IS NULL
AND Field3 IS NULL
Если вы хотите заменить все NULL значения в таблице, независимо от того, весь ряд это NULL, тогда вы можете это сделать;
UPDATE TableName
SET
Field1 = ISNULL(Field1,'Value1')
,Field2 = ISNULL(Field2,'Value2')
,Field3 = ISNULL(Field3,'Value3')
Если вы хотите, чтобы обновить значения для различных значений для каждой строки вам потребуется способ связывания пользователей с их входа в систему. Базовая версия будет что-то вроде этого (я имею в виду это как LookupTable)
ID Login
1 User1
2 User2
3 User3
Ваш запрос будет что-то вроде этого;
UPDATE a
SET a.login = ISNULL(a.login,b.login)
FROM TableName a
JOIN LookupTable b
ON a.id = b.id
Это будет обновлять только значения с NULL, но вы, вероятно, хотите просто set a.login = b.login
, чтобы гарантировать, что все данные правильно.
Пожалуйста, отредактируйте ваш вопрос, предоставив образцы данных и желаемые результаты. В вашем запросе есть инструкция 'select', и это определенно не будет делать' insert'. –
Что значит «где все строки равны нулю», вы имеете в виду, если нет строк? – HoneyBadger
И, пожалуйста, сообщите нам, какую базу данных вы используете. –