【发布时间】:2013-06-18 12:42:27
【问题描述】:
您好,我有以下工作查询(mssql)
select
max(load_number) load_number,max(linediscount) maxlinediscount,max(CustomerBand) customer_band
from [Linked_Order_lines]
join [Customer_Order_Summary]
on [Customer_Order_Summary].[CustomerOrderID]=[Linked_Order_lines].[load_number]
join [Customers]
on Customers.CustomerName=Customer_Order_Summary.CustomerName
join Customer_Order_lines
on Customer_Order_Summary.CustomerOrderID=Customer_Order_lines.CustomerOrderID
join price_escalation_bands
on price_escalation_bands.band=Customer_Order_Summary.CustomerBand
where [linked_order_id] in
(
select [linkedorderid] from
[Linked_Order_Summary] join [Linked_Order_lines] on
[Linked_Order_Summary].[linkedorderid] = [Linked_Order_lines].[linked_order_id]
where [load_number]='7'
)
and Customer_Order_lines.linestatus='current'
group by load_number
这会产生结果
在这个查询中,我已经加入了表price_escalation_bands,如下所示:
我想要做的是将查询中的maxlinediscount 与表price_escalation_bands 的discount 列进行比较,并返回表中下一个最大记录的用户ID (fk_salesman_userid)。所以折扣 11 将转到折扣 15 并返回 fk_salesman_userid 9。如果折扣为 18,它将转到 100 并返回 fk_salesman_userid 21。
我基本上是在尝试找出可以批准maxlinediscount 中的折扣的fk_salesman_userid
所以想要的输出是:
我是否需要 case 语句,如果需要,如何将它与现有 select 语句中的 max 语句一起使用?
提前致谢
【问题讨论】:
标签: sql-server join case