0
好的,所以問題的總體範圍是我使用表值函數,以便SSRS可以創建關於數據的各種報表,然後使用另一個程序來拼接所有這些報表一起。所以無論如何,問題是我需要獲得一個列的值,如果該行中的另一列包含一定的值。然後在將該值添加到另一個位置之後,將新值返回到數據庫行的列中,以便其他報告和使用該數據。因此,例如:如果符合特定條件,從一行中獲取信息
RETURNS @ReportTable table
(
str_beta_group varchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
str_alpha_group varchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
str_group varchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
debit decimal(24, 6) NULL,
credit decimal(24, 6) NULL,
credit_total decimal(24,6) NULL
)
我是新來的數據庫開發,我已經試過各種方法,我無法弄清楚如何獲得語法正確,我總是錯誤告終。因此,基於表上的我怎麼會寫這個邏輯用T-SQL語法:
decimal epsilon_temp, gamma_temp;
if(str_group='epsilon')
{
epsilon_temp = credit; --the credit from that row where str_group = epsilon
}
else if(str_group='gamma')
{
gamma_temp = credit; --the credit from that row where str_group = gamma
}
--Then after that UPDATE
UPDATE @ReportTable
SET credit_total = SUM(epsilon_temp + gamma_temp)
WHERE str_group = epsilon
謝謝你的回答。然而,那不是我真正想要的。我想也許我解釋了它有點麻煩。所以我現在試着更好地解釋它。上表中的一行將有一個str_beta_group,str_alpha_group,str_group,debit,credit和credit_total的列...對不起意外地打開進入開發.. –