【发布时间】:2015-11-26 13:58:45
【问题描述】:
首先:我在之前提出的问题中找到了我的问题的一些可能答案,但我遇到了让它们正常工作的问题。我知道这个问题已经被问过了,但答案总是工作代码,几乎没有解释所使用的方法。
所以:我必须找出客户何时达到 VIP 状态,即他的订单价值超过 50 000。我有 2 个表:一个带有 orderid、customerid 和 orderdate,第二个带有 orderid 、数量和单价。 我写的查询结果应该是3列宽,一列是customerid,一列是真/假,名为“是VIP?”,第三是获得VIP状态的日期(即订单日期与前面的相加得到超过 50 000 的结果)- 如果客户没有达到 VIP 状态,最后一个应该是空白
select o.customerid, sum(od.quantity*od.unitprice),
case
when sum(od.quantity*od.unitprice)>50000 then 'VIP'
else 'Normal'
end as 'if vip'
from
orders o join [Order Details] od on od.orderid=o.orderid
group by o.customerid
就我得到的代码而言,它返回了客户的状态,现在我需要获取发生这种情况的日期。 .
【问题讨论】:
-
我不是在寻求解决问题的方法,而是寻求解决方法,寻求解决方法的想法。没有问题,因为还没有解决方案。我正在研究 Northwind 数据库,我问的问题是关于我在教科书中找到的一个练习,我不知道如何创建除了视图之外的任何东西(我想这不会很有帮助),也不知道如何插入任何东西.谢谢你的回答。
-
嗯,是的。我刚刚注意到我选择了错误的标签,抱歉。
-
你使用的是哪个数据库?
-
我正在使用 Northwind 和 SQL Server 2014。
标签: sql sql-server sum