0
我正在使用switch()函数获取MS Access查询中的条件更新。下面是我的查询MS Access查询:在Switch()函数中使用select语句
UPDATE T_Generated_OpportunityLine SET PlContact_c = Switch(
LowestlevelValue_c='PTFDS - FD ENCLOSURE SYSTEMS',Select OpportunityLine_PostCode.SESA from OpportunityLine_PostCode,T_Generated_OpportunityLine where OpportunityLine_PostCode.Postcode=T_Generated_OpportunityLine.Selected_Zip AND
OpportunityLine_PostCode.OpptyLine_Ref='PTFDS',
LowestlevelValue_c='DOOR ENTRY SYSTEM',Select OpportunityLine_PostCode.SESA from OpportunityLine_PostCode,T_Generated_OpportunityLine where OpportunityLine_PostCode.Postcode=T_Generated_OpportunityLine.Selected_Zip AND
OpportunityLine_PostCode.OpptyLine_Ref='Door Entry System'
);
我知道带开关的语法()函数:
Switch (expression1, value1, expression2, value2, ... expression_n, value_n)
我刚才提出的,而不是通过静态值“值”一种修饰,即部分我通过选择查询动态获取此值。
但是,当我试图执行其声称的错误信息查询:
The query must be an updatable query
我相信这个问题是选择语句内切换()函数,但我需要户口本上有条件更新我的项目。
任何人都可以提供任何合适的解决方案吗?我也想知道我们可以在Switch()语法中传递“Value”部分的动态值吗?
你有没有测试过你的子查询?@Gordon Linoff.When当我尝试你的子查询访问时,它报告了我**查询表达式**中的语法错误。此外,你的**()**子查询的第一个解决方案不符合我的目的它报告了与我在问题中提到的相同的错误消息。 – 2014-10-08 14:02:47
'T_Generated_OpportunityLine'是一个视图还是一个表?你有权更新它吗? – 2014-10-08 14:13:14
它是一个数据库表。我有权更新它。 – 2014-10-08 14:16:45