Итак, общая проблема проблемы. Я использую функцию, ориентированную на таблицу, поэтому 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 ... извините, случайно попал в разработку. –