在C#中执行此操作,但在SQL Server中对其进行测试,直到它正常工作
这是我的代码,对列名称(隐私)进行了一些编辑,但要点就在那里,我在案例附近收到错误。
每个包含产品的列最终都会更改为是/否
SELECT c.customer_name ,
c.addr_line_1 ,
c.addr_line_2 ,
c.city ,
c.state ,
c.zip ,
ci.title ,
ci.f_name ,
ci.l_name ,
ci.email ,
ci.phone ,
c.prod1
CASE WHEN prod1 = 1 THEN 'Yes'
ELSE 'No'
END ,
c.prod2 ,
c.prod3 ,
c.prod4 ,
c.prod5 ,
c.prod6
FROM Customer c
INNER JOIN ContactInfo ci ON c.customer_id = ci.customer_id
WHERE ci.title = 'IT'
AND c.prod1 = 1
在关键字' case'附近获取'错误的语法作为错误,抱歉
答案 0 :(得分:2)
问题就在case
之前。您使用的语法错误。
ci.phone, c.prod1 case when prod1 = 1 then 'Yes' else 'No' end,
^^^^^^^^
应该是:
ci.phone, case when prod1 = 1 then 'Yes' else 'No' end as prod1,
案例输出的列名应在CASE
语句的末尾指定,而不是之前。
您可能会看到:CASE (Transact-SQL)