简体   繁体   English

带If语句的计算列

[英]Calculated Column with If Statement

I have a table with these columns: 我有一个包含这些列的表:

UserName TotalTransactions Sku 用户名TotalTransactions Sku

I want to create an auto-generated column called Over: 我想创建一个自动生成的列,称为Over:

If SKU is abc and TotalTransactions > 6,000, then Over is True: 如果SKU为abc且TotalTransactions> 6,000,则Over为True:

UserName        TotalTransactions  Sku  Over
joe@mysite.com  6001               abc  True

How do I add a calculated column with an If statement? 如何使用If语句添加计算列? Here is my code: 这是我的代码:

select settings.UserName, SUM(TransactionCount) as TransactionCount, settings.SettingValue as Sku,
CASE WHEN settings.SettingValue = 'abc' AND TransactionCount > 6000 
 THEN 'True' ELSE 'False' END As Over
from jma_qb_trans_count trans
Inner Join jma_settings settings on settings.UserName = trans.UserName
where settings.SettingName = 'QB:JMAWebStoreSku' and settings.SettingValue != ''
Group by settings.UserName, settings.SettingValue, Over
Order By settings.UserName

When I use this code, I receive this error: 当我使用此代码时,我收到此错误:

Msg 156, Level 15, State 1, Line 3 Incorrect syntax near the keyword 'Over'.

I do believe you are looking for (Add to Select statement): 我相信您正在寻找(添加至选择语句):

CASE WHEN SKU = 'abc' AND TotalTransactions > 6000 
     THEN 'True' ELSE 'False' END AS Over

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM