设置变量

时间:2011-11-08 15:04:58

标签: sql

我有几个问题,我想确保理解我在做什么。所以这就是我正在开发一个项目,我想创建一个名为MinOrder的变量,并在Northwind CustomerNo'ALFKI'折扣后用最小的行项目金额填充它(小心:我们在这里处理货币,所以不要只假设你要使用int。)输出MinOrder的最终值。现在这就是我所拥有的:

   Use Northwind
Declare @MinOrder money;
Set @MinOrder = (Select MIN(UnitPrice) From [Order Details]);
Select @MinOrder

我注意到我没有放入ALFKI。好吧,我看到它说不使用真的使用int。我去宣称未成年人,因为它确实使用了变量,然后我将该变量用于unitprice,即使它表示折扣但是当我尝试将折扣放在那里时它显示出红色错误。如果我应该使用另一个set来执行customerId = ALFKI,或者如果我可以将它放入此代码中,那么我会更聪明。我知道我的代码可能会偏离,但这就是为什么我发布它所以我可以理解它只是因为它是编程的一部分。感谢

2 个答案:

答案 0 :(得分:0)

SET @MinOrder = SELECT MIN(UnitPrice)
                  FROM [Order Details]
                 WHERE CustomerNumber = 'ALFKI'

CustomerNumber替换为客户编号字段的名称。

答案 1 :(得分:0)

SELECT @MinOrder = MIN(UnitPrice)
  FROM [Order Details] od
       INNER JOIN Orders o
          ON o.order_ID = od.order_ID
       INNER JOIN Cusomers c
          ON c.customer_ID = o.customer_ID
 WHERE c.customer_code = 'ALFKI';