Sql server 一定数量上所有值的总和
问题是:创建一个脚本来计算和打印所有购买的总额 对于所有 如果成本在2000兰特或以上,则必须显示短语“昂贵产品的总和”和总数 价值 如果不存在成本为2000兰特或以上的产品,则对于所有成本为1000兰特或以上的产品 它必须显示短语“平均产品总和”和总值。 如果没有产品 存在成本为1000兰特或以上的产品,则对于成本低于1000兰特的所有产品,必须显示短语 “廉价产品总和”和总价值。 如果根本不存在任何产品,则必须显示 短语“不存在任何产品”。 标记准则还规定,我们必须在答案中使用DECLARE和IF语句 输出必须如下所示: 样本结果: 2行受影响 昂贵产品总数:5998.00 这是一个学校作业的问题,所以我不希望得到完整的答案,只是朝着正确的方向努力,因为我不知道为什么这样做行不通 我正在使用SQL Server Management Studio 2014 到目前为止,我得到的是:Sql server 一定数量上所有值的总和,sql-server,Sql Server,问题是:创建一个脚本来计算和打印所有购买的总额 对于所有 如果成本在2000兰特或以上,则必须显示短语“昂贵产品的总和”和总数 价值 如果不存在成本为2000兰特或以上的产品,则对于所有成本为1000兰特或以上的产品 它必须显示短语“平均产品总和”和总值。 如果没有产品 存在成本为1000兰特或以上的产品,则对于成本低于1000兰特的所有产品,必须显示短语 “廉价产品总和”和总价值。 如果根本不存在任何产品,则必须显示 短语“不存在任何产品”。 标记准则还规定,我们必须在答案中使用DECLARE
DECLARE @SUM_OF_EXPENSIVE_PRODUCTS int, @SUM_OF_AVERAGE_PRODUCTS int, @SUM_OF_CHEAP_PRODUCTS int
IF ((SELECT Price AS EXPENSIVE_PRODUCT FROM Product WHERE Price > 2000 ) > 0)
SELECT SUM(EXPENSIVE_PRODUCT) = @SUM_OF_EXPENSIVE_PRODUCTS
ELSE IF ((SELECT Price AS AVERAGE_PRODUCT FROM Product WHERE Price > 1000) > 0)
SELECT SUM(AVERAGE_PRODUCT) = @SUM_OF_AVERAGE_PRODUCTS
ELSE IF ((SELECT Price AS CHEAP_PRODUCT FROM Product WHERE Price < 1000) > 0)
SELECT SUM(CHEAP_PRODUCT) = @SUM_OF_CHEAP_PRODUCTS
ELSE
SELECT 'NO PRODUCTS EXIST'
试试这个
更新的查询
您现在已经发现这不是正确的语法。首先:从表中选择价格。然后尝试以下操作:选择价格,当价格介于1000和1999.99之间时,选择大小写,然后选择“AVERAGE_PRODUCT”,否则从表中选择NULL结束。这三个类别必须显示为列还是行?什么版本的SQL Server?我已经更新了我的问题,以包括您要求的信息,谢谢,这非常有效,唯一的问题是标记规则说我们必须在answer@ScottyDooZA我不明白你在问什么!您的意思是,您需要在查询中使用DECLARE语句?是的,查询必须包含DECLARE语句add DECLARE@v_NoProducts VARCHAR100;SET@v_NoProducts='没有产品存在';在最后的选择中使用它:选择@v_NoProducts;去那里申报。或者,您也可以声明价格变量。@ScottyDooZA查找更新的查询。如果有助于标记,请回答..:
BEGIN
DECLARE @ResultText varchar(100)
DECLARE @Result varchar(10)
IF EXISTS(Select 1 from tempTable WHERE Price > 1999)
BEGIN
SET @ResultText = 'SUM_OF_EXPENSIVE_PRODUCTS : '
SET @Result = (SELECT SUM(Price) from tempTable where Price > 1999)
SET @ResultText = @ResultText + @Result
END
ELSE IF EXISTS(Select 1 from tempTable WHERE Price > 999)
BEGIN
SET @ResultText = 'SUM_OF_AVERAGE_PRODUCTS : '
SET @Result = (SELECT SUM(Price) from tempTable where Price > 999)
SET @ResultText = @ResultText + @Result
END
ELSE IF EXISTS(Select 1 from tempTable WHERE Price > 0)
BEGIN
SET @ResultText = 'SUM_OF_AVERAGE_PRODUCTS : '
SET @Result = (SELECT SUM(Price) from tempTable where Price > 0)
SET @ResultText = @ResultText + @Result
END
ELSE
BEGIN
SET @ResultText = 'NO PRODUCTS EXIST'
END
SELECT @ResultText
END