Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 实体数据检索_Sql_Database - Fatal编程技术网

Sql 实体数据检索

Sql 实体数据检索,sql,database,Sql,Database,我需要有关使用sql Server从简单实体中提取数据的帮助 库存实体具有列(主键,fk)产品id,(主键,fk)仓库id,库存金额,库存最大库存,库存再订购点 我需要库存记录作为产品ID和以下列之和的列表:库存金额、库存最大库存和库存再订购点。仅显示库存金额>900的结果 SELECT PRODUCT_ID, SUM(INVEN_AMOUNT), SUM(INVEN_MAX_STOCK), SUM(INVEN_REORDER_POINT) FROM INVENTORY GROUP BY PRO

我需要有关使用sql Server从简单实体中提取数据的帮助

库存实体具有列<代码>(主键,fk)产品id,(主键,fk)仓库id,库存金额,库存最大库存,库存再订购点

我需要库存记录作为产品ID和以下列之和的列表:库存金额、库存最大库存和库存再订购点。仅显示
库存金额>900
的结果

SELECT PRODUCT_ID, SUM(INVEN_AMOUNT), SUM(INVEN_MAX_STOCK),
SUM(INVEN_REORDER_POINT) FROM INVENTORY
GROUP BY PRODUCT_ID HAVING INVEN_AMOUNT > 900;

这就是我尝试过的代码。但我一直得到一个错误,那就是它不是一个由表达式组成的组。关于我为什么会出现此错误,有什么帮助吗?

不允许使用INVEN\u AMOUNT>900
,因为您没有按
INVEN\u AMOUNT
进行分组。在以下位置使用:

SELECT PRODUCT_ID, SUM(INVEN_AMOUNT), SUM(INVEN_MAX_STOCK), SUM(INVEN_REORDER_POINT)
FROM INVENTORY
WHERE INVEN_AMOUNT > 900
GROUP BY PRODUCT_ID;
如果您想限制总和大于900的组,则使用
SUM(INVEN\u AMOUNT)


INVEN\u AMOUNT
have
一起使用无效,但
SUM(INVEN\u AMOUNT)
有效<代码>Having用于聚合函数,如sum()、avg()和max()等,否则在
的位置使用
更好

SELECT PRODUCT_ID, SUM(INVEN_AMOUNT) as INVEN_AMOUNT,
SUM(INVEN_MAX_STOCK), SUM(INVEN_REORDER_POINT) FROM INVENTORY
GROUP BY PRODUCT_ID Having SUM(INVEN_AMOUNT) > 900;

SELECT PRODUCT_ID, SUM(INVEN_AMOUNT) as INVEN_AMOUNT,
SUM(INVEN_MAX_STOCK), SUM(INVEN_REORDER_POINT) FROM INVENTORY
GROUP BY PRODUCT_ID Having SUM(INVEN_AMOUNT) > 900;