繁体   English   中英

按设置获取单列中不同数据的计数

[英]get the count for different data in single column as set

我的表“ Activation”的帐户ID电子邮件以及产品名称列

产品名称列包含以下数据

 Platform
 Access
 Onboard
 OnGuard
 Platform
 Access
 Onboard
 OnGuard

当用户激活我们将插入数据为一组这样的(平台,接入,板载,的OnGuard),我需要给予警告用户,如果他将一组以上(平台,接入,板载,的OnGuard)

我可以获取单个商品名称插入的计数,例如(平台或访问),但是我需要在此处获取单个集合插入的计数。

任何人都可以在此查询上提供帮助,如何获得单组插入的计数,我正在使用sql server作为这些插入的数据库。

提前谢谢了..

更新

对不起,引起混淆,如果用户插入了集合中定义的任何产品名称中的任何一个以上而不是单个集合,则需要向用户发出警告。

假设独特的产品数为4 ,则可以使用聚集沿检查它having

select accountid
from activation
group by accountid
having count(distinct productname) = 4

或者,您可以根据需要反转逻辑(如果要通过将=更改为<>来获得并非针对所有产品的用户,

演示

您可以在触发器中使用它。

DECLARE @Product_Name NVARCHAR(50)
IF EXISTS (SELECT 1
            FROM Activation WHERE productname = @Product_Name) BEGIN

    RAISERROR ('Product Name  Already Exists', 16, 1)

END

暂无
暂无

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

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