我有一个t-sql表列出了多个位置的协议。TSQL组按列
色谱柱:
- STID =商店ID
- AStatID =协议状态ID(1 =活动)
- PayModeID =(1每日=,2 =每周,等等。)
- 然后每个的PayMode的列达
我试图让我们每月潜在来自活跃协议,每家商店的收入。
这是我到目前为止,但我得到的错误“子查询返回多个值1”。
我哪里错了?
SET NOCOUNT ON
Declare @dPotential Money,
@wPotential Money,
@bPotential Money,
@sPotential Money,
@mPotential Money,
@Potential Money;
Set @dPotential = (((Select Agreemnt.DailyRate FROM Agreemnt WHERE Agreemnt.PayModeID = 1 And Agreemnt.AStatID = 1)*365)/12)
Set @wPotential = (((Select Agreemnt.WeeklyRate FROM Agreemnt WHERE Agreemnt.PayModeID = 2 And Agreemnt.AStatID = 1)*52)/12)
Set @bPotential = (((Select Agreemnt.WeeklyRate FROM Agreemnt WHERE Agreemnt.PayModeID = 3 And Agreemnt.AStatID = 1)*52)/12)
Set @sPotential = (((Select Agreemnt.DailyRate FROM Agreemnt WHERE Agreemnt.PayModeID = 4 And Agreemnt.AStatID = 1)*24)/12)
Set @mPotential = ((Select Agreemnt.DailyRate FROM Agreemnt WHERE Agreemnt.PayModeID = 5 And Agreemnt.AStatID = 1)* 12)
Set @Potential = @dPotential + @wPotential + @bPotential + @sPotential + @mPotential
Select Agreemnt.STID, @Potential From Agreemnt
Group By Agreemnt.STID
这些查询到您的变量分配值来返回多行多 – Lamak