#sql #tsql
#sql #tsql
Вопрос:
1)
update m
set long_description = is null(a.[value],' ')
Изменение на
update m
set long_description = CASE WHEN a.[name] = 'long description' THEN is null(a.[value],' ') END
Но запрос не обновляет значения, пожалуйста, помогите с правильным запросом с регистрацией
Комментарии:
1. Что такое СУБД?
2. Добро пожаловать в StackOverflow. Пожалуйста, добавьте к вашему вопросу тег, указывающий вашу СУБД (например, sql server), и отредактируйте вопрос, чтобы объяснить, какую логику вы хотели бы применить в вашем заявлении об обновлении.
3.
is null
не является функцией. На самом деле это правильный способ написанияCOALESCE()
.4. спасибо, но выполнение приведенных ниже запросов, дающих разные результаты, обновляет m set long_description = случай, когда a.name = ‘longdescription’ затем ОБЪЕДИНЯЕТСЯ (a. [значение],’ ‘) конец , цвет = случай, когда a.name = ‘color’ затем ОБЪЕДИНЯЕТСЯ (a. [значение],’ ‘) завершается из dbo. Media_Services как m, dbo.promo_Items как p, dbo. PROMO_ITEM_ATTRIBUTES в виде, где p.article_number = m.Item_Number и p.style_id = m.Master_ID и p.id = a.promo_item_id —и a.name в (‘longdescription’,’color’) ;
5. Вы имеете в виду
isnull(a.[value],' ')
Ответ №1:
Не совсем ясно, чего вы хотите. В вашем первом примере вы обновляете Long_Description, чтобы оно было.value, если оно не равно null, и в этом случае вы вставляете пробел.
Во втором примере вы, похоже, говорите, если a.name имеет значение ‘Длинное описание’, только затем устанавливает значение Long_Description равным.value (если оно не равно null, в этом случае используйте пробел).
Вы пытаетесь это сделать (измените long_description на.value, если a.name совпадает с long_description)?
update m
set long_description = CASE WHEN a.[name] = long_description
THEN isnull(a.[value],' ') END
Если нет, вам нужно уточнить свой вопрос, чтобы мы знали, чего вы хотите.
Комментарии:
1. update m устанавливает long_description = isnull(a.[значение],’ ‘) из dbo. AAA как m, dbo. BBB как p, dbo. CCC как a, где p.article_number = m.Item_Number и p.style_id = m.Master_ID и p.id = a.promo_item_id и a.[name] = ‘longdescription’ обновить m установить Color = isnull(a.[value],’ ‘) из dbo. AAA как m, dbo. BBB как p, dbo. CCC как a, где p.article_number = m.Item_Number и p.style_id = m.Master_ID и p.id = a.promo_item_id и a.[name] = ‘color’ у нас есть эти 2 запроса на обновление, теперь я пытаюсь объединить в один запрос
2. update m устанавливает long_description = случай, когда a.[name] = ‘longdescription’ тогда isnull(a.[значение],’ ‘) end , color = случай, когда a.[name] = ‘color’ тогда isnull(a.[значение],’ ‘) end из dbo. AAA как m, dbo. BBB как p, dbo. CCC как a, где p.article_number = m.Item_Number и p.style_id = m.Master_ID и p.id = a.promo_item_id ;
3. но не обновляется
4. виджай — добавьте свои данные в исходное сообщение. Это невозможно прочитать в комментариях. Кроме того, я не понимаю ваших комментариев.