こんにちは、私は以下の作業クエリ(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
私のクエリをdiscount
テーブルの列と比較しprice_escalation_bands
、次に大きいテーブルのレコードのユーザー ID (fk_salesman_userid) を返すことです。したがって、11 の割引は割引 15 になり、fk_salesman_userid
9 が返されます。割引が 18 の場合、100 になり、fk_salesman_userid
21 が返されます。
私は基本的にfk_salesman_userid
割引を承認できる人を見つけようとしていますmaxlinediscount
したがって、望ましい出力は次のようになります。
case ステートメントが必要ですか? その場合、既存の select ステートメントの max ステートメントでどのように使用すればよいですか?
アウェイとして事前に感謝します