我需要更新表[Recipient on contract]
中的列[Check_Result]
。但是要插入到列中的值不是固定字符串,而是[All_Contracts]
表中的值。因此,要插入[Recipient on contract]
的所有行都是唯一的,可以通过键[ID Contract] = [Référence]
表[Check_Result]
和[All_Contracts]
之间的链接为[ID Contract] = [Référence]
Update [Check_Result]
set [Recipient on contract] =
If [Bénéficiaire] ="Personne morale" Then
If [Organisme] is not null Then get [Organisme]
Else get [Professionnel de santé]
Else
If [Professionnel de santé] is not null Then get [Professionnel de santé]
Else get [Organisme]
在这种情况下可以使用THEN吗? Update Case when then (select from inner join where)
语句?
谢谢
答案 0 :(得分:0)
是的,CASE语句中的每个值都可以替换为嵌套在'('和')'周围的嵌套选择语句,即,这是有效的语句:
texts = driver.find_element_by_xpath("//div[@class='card-block cms']")
textInDivTag = texts.extContent
print(textInDivTag)
您也可以对IIF语句进行同样的操作
update table1 set
field1 = CASE WHEN field2 = 'some value'
THEN (select field1 from table2 where table1.key_field = table2.key_field)
ELSE 'some default value'
END
您的更新声明不太清楚。您想从update table1 set
field1 = IIF(field2 = 'some value',
(select field1 from table2 where table1.key_field = table2.key_field),
'some default value')
表中获得哪个值?可以这样简化:
[All_Contracts]
您可以用Update [Check_Result] set
[Recipient on contract] = IIF([Bénéficiaire] = "Personne morale",
COALESCE([Organisme], [Professionnel de santé]),
COALESCE([Professionnel de santé], [Organisme]))
替换[Professionnel de santé]
或[Organisme]
。