从存储表返回通知的Sql查询

从存储表返回通知的Sql查询,sql,database,sql-server-2012-express,Sql,Database,Sql Server 2012 Express,我有一个store表,表中有productName,productNumber,storedInBranch,blockNumber,quantity,notifyIn 如果数量小于notifyIn它将通知我,我尝试了以下查询: select * from store where (quantity < notifyIn) AND (notify > 0) 因此,上面的查询返回的值都很低,我想做的是将quantity(5+5)和notifyIn4求和。您在这里依赖于notifyIn

我有一个
store
表,表中有
productName
productNumber
storedInBranch
blockNumber
quantity
notifyIn

如果
数量
小于
notifyIn
它将通知我,我尝试了以下查询:

select * from store
where (quantity < notifyIn) AND (notify > 0)

因此,上面的查询返回的值都很低,我想做的是将
quantity
(5+5)和
notifyIn
4求和。

您在这里依赖于notifyIn在多行中是相同的值。你可以这样做

SELECT productNumber, sum(quantity), min(notifyin)
FROM store
GROUP BY productNumber
HAVING sum(quantity) < min(notifyin)
选择productNumber、sum(数量)、min(notifyin)
从商店
按产品编号分组
总和(数量)

如果可能的话,我鼓励您更改您的模式,以更好地反映您的域逻辑。可能有一个单独的表,其中包含产品编号和价值通知。这样,您就不会复制notifyin
,并有可能在不同的行中存储不同的值。

请考虑进一步规范数据库架构,以删除重复字段。您可以将产品提取到他们自己的表中吗?也可以将分支提取到具有相关分支信息的表中,如notify Limithy,很高兴听到它的帮助。如果我的回答有助于回答您的问题,请接受我的回答。请阅读以下内容:。
SELECT productNumber, sum(quantity), min(notifyin)
FROM store
GROUP BY productNumber
HAVING sum(quantity) < min(notifyin)