私が持っているこの関数は私が望むことをしますが、一度にそれを行う方法があるかどうか疑問に思っています:
drop table ##aa
select s.storeid,cast(LEFT(p.paytype,1) as varchar(50)) as Paytype,SUM(amount) as Total
into ##aa
from RPTrs s, rpPay p
where s.storeid=p.StoreID and s.ReceiptNO=p.ReceiptNo
and trsdate between '1/1/06' and '1/1/13'
group by s.storeid,LEFT(p.paytype,1)
update A set a.paytype=b.currencydesc
from ##aa a, Currencies b
where a.Paytype=b.POSCurrency
select * from ##aa order by Paytype, StoreID
私が求めているのは、b.CurrencyDescを最初のp.paytypeに適用したいということです。Paytypeは例としてCを表示するだけですが、Cashを表し、Visaを表すためにVを使用します。これは、通貨の表に記載されています。