我正在办公桌"激活"列帐户ID 和电子邮件和产品名称
产品名称列的数据如下所示
Platform
Access
Onboard
OnGuard
Platform
Access
Onboard
OnGuard
当用户激活时,我们会将数据插入像这样的集合(平台 ,访问 ,在船上 ,的OnGuard) 如果用户插入多个(平台,访问,板载,OnGuard)
,我需要向用户发出警告我可以获得单个产品名称插入的计数(平台或访问),但我需要在这里获得单集插入的计数..
请问任何人请帮忙查询如何获取单集插入的计数,我使用sql server作为这些插入的数据库。
非常感谢...
更新
很抱歉混淆我需要向用户发出警告,如果他多次插入集合中定义的任何产品名称而不是单个集合
答案 0 :(得分:0)
假设唯一的产品数量为4
,您可以使用汇总和having
进行检查。
select accountid
from activation
group by accountid
having count(distinct productname) = 4
或者您可以根据需要撤消逻辑(如果您希望通过将=
更改为<>
来获取未定义所有产品的用户
<强> DEMO 强>
答案 1 :(得分:0)
您可以在触发器中使用此功能。
DECLARE @Product_Name NVARCHAR(50)
IF EXISTS (SELECT 1
FROM Activation WHERE productname = @Product_Name) BEGIN
RAISERROR ('Product Name Already Exists', 16, 1)
END