带有case when的SQL case语句

问题描述

我对sql case语句有疑问。我有一个表,其中1个帐户可以有多个Web ID(用户来自网站)和应用程序ID(用户来自应用程序)。帐户ID是唯一的。我想根据网络用户和应用用户识别帐户。撰写的案例陈述如下
(CASE WHEN (webid IS NULL AND appid is not null ) THEN 'App user' WHEN (appid IS NULL and webid is not null ) THEN 'Web user' ELSE 'Web and App user' END)
但是,该分类无法正常进行,因为它将1个帐户分类为Web用户或App用户以及Web和App用户。我该如何解决这个问题?

enter image description here

解决方法

您似乎还希望考虑account_id

(CASE WHEN AccountId IS NULL THEN NULL
      WHEN webid IS NULL AND appid is not null THEN 'App user'
      WHEN appid IS NULL AND webid is not null THEN 'Web user'
      ELSE 'Web and App user'
 END)