我有一个表"Activation“,列为帐户ID、和电子邮件、和产品名称。
产品名称列的数据如下所示
Platform
Access
Onboard
OnGuard
Platform
Access
Onboard
OnGuard当用户被激活时,我们将把数据作为像这个( Platform,Access,one,OnGuard)这样的集合来插入,如果他正在插入多个集合(Platform,Access,one,OnGuard),我需要给用户一个警告。
我可以得到单个产品名插入的计数,比如(平台或访问),但我需要在这里获得单个产品插入的计数。
有谁能在这个查询中提供帮助,如何获得单个集合插入的计数?我正在使用sql服务器作为这些插入的DB。
非常感谢..。
更新
很抱歉混淆了,我需要给用户一个警告,如果他插入了不止一次在集合中定义的任何产品名称,而不是单个集合..
发布于 2017-12-04 05:06:07
假设唯一的产品计数是4,您可以使用聚合和having一起检查它。
select accountid
from activation
group by accountid
having count(distinct productname) = 4或者,您可以根据需要反转逻辑(如果您希望通过将=更改为<>来获得并非所有产品都针对其定义的用户)
演示
发布于 2017-12-04 05:51:06
你可以用这个来触发。
DECLARE @Product_Name NVARCHAR(50)
IF EXISTS (SELECT 1
FROM Activation WHERE productname = @Product_Name) BEGIN
RAISERROR ('Product Name Already Exists', 16, 1)
ENDhttps://stackoverflow.com/questions/47626681
复制相似问题