2013-09-05 10 views
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 

ответ

0

Я принимаю догадку на то, что Вам нужно. Это о том, как получить суммы из данных и группировать результаты по str_group? Как это выглядит:

SELECT 
    CASE WHEN str_group is NULL THEN 'TOTAL' ELSE str_group END str_group 
    SUM(credit) credit 
FROM 
    table 
GROUP BY GROUPING SETS 
    ((),(str_group)) 
+0

Благодарим за ответ. Тем не менее, это не то, что я искал. Я думаю, может быть, я объяснил это немного громоздким. Поэтому я попытаюсь объяснить это сейчас. Одна строка в таблице выше имела бы столбец для str_beta_group, str_alpha_group, str_group, debit, credit и credit_total ... извините, случайно попал в разработку. –

Смежные вопросы

 Смежные вопросы