【发布时间】:2015-06-17 18:20:12
【问题描述】:
我正在尝试使用以下代码来运行基于 CASE 语句的不同 join 查询。
所以如果customer CLI 等于84422881 我希望它基于[Extenstion] 字段加入,如果不满足条件即ELSE 然后加入[Customer CLI]
use VoiceflexBilling
CASE WHEN [dbo].[MARU15_OWH07579_Calls].[CustomerCLI] = '84422881' THEN
UPDATE [dbo].[MARU15_OWH07579_Calls]
SET [dbo].[MARU15_OWH07579_Calls].[CustomerLookup] = CLIMapping.[customer id]
FROM [BillingReferenceData].[dbo].[CLIMapping]
INNER JOIN [VoiceflexBilling].[dbo].[MARU15_OWH07579_Calls]
on [VoiceflexBilling].[dbo].[MARU15_OWH07579_Calls].[Extension] = [BillingReferenceData].[dbo].[CLIMapping].[CLI]
ELSE
UPDATE [dbo].[MARU15_OWH07579_Calls]
SET [dbo].[MARU15_OWH07579_Calls].[CustomerLookup] = CLIMapping.[customer id]
FROM [BillingReferenceData].[dbo].[CLIMapping]
INNER JOIN [VoiceflexBilling].[dbo].[MARU15_OWH07579_Calls]
on [VoiceflexBilling].[dbo].[MARU15_OWH07579_Calls].[CustomerCLI] = [BillingReferenceData].[dbo].[CLIMapping].[CLI]
END
目前我收到以下错误:
Msg 156, Level 15, State 1, Line 3 关键字附近的语法错误 '案子'。消息 156,级别 15,状态 1,第 11 行 关键字“其他”。消息 102,级别 15,状态 1,第 19 行语法不正确 'END'附近。
任何人都可以帮助使用正确的语法吗?
谢谢,
【问题讨论】:
标签: sql sql-server join sql-update case