я в настоящее время есть таблица SQL, который выглядит примерно так:Создать новое измерение, используя значения из другого измерения в SQL?
RuleName | RuleGroup
---------------------------
Backdated task | DRFHA
Incorrect Num | FRCLSR
Incomplete close | CFPBDO
Appeal close | CFPBDO
Needs letter | CFPBCRE
Plan ND | DO
B7IND | CORE
В настоящее время я пишу хранимую процедуру в SSMS, которая тянет эти размеры из существующей таблицы. Тем не менее, я также хочу, чтобы процедура создала новое измерение, которое создаст измерение «SuperGroup» для каждого правила на основе текста в его RuleGroup (и другого столбца для остальных). Например:
RuleName | RuleGroup | SuperGroup
--------------------------------------------
Backdated task | DRFHA | Other
Incorrect Num | FRCLSR | Fore
Incomplete close | CFPBDO | DefaultOp
Appeal close | CFPBDO | DefaultOp
Needs letter | CFPBCRE | Core
Plan ND | DO | DefaultOp
B7IND | CORE | Core
я в настоящее время пытался использовал «GROUP BY» функции, а также с помощью SELECT, с несколькими «LIKE» заявления. Однако проблема заключается в том, что это должно быть масштабируемо - хотя сейчас у меня есть только 21 группа, я хочу автоматически сортировать, добавляя новые группы.
Вот процедура SSMS, а также:
CREATE PROCEDURE [Rules].[PullRulesSpecifics]
AS
BEGIN
SELECT
ru.RuleName
ru.RuleGroup
FROM RuleData.groupings ru
WHERE 1=1
AND ru.ActiveRule = 1
AND ru.RuleOpen >= '2015-01-01'
ssms - это интерфейс управления, который, как оказалось, способен запускать sql. нет такой вещи, как «процедура ssms». в mssql хранятся процедуры, с которыми вы можете управлять с помощью ssms. –
Как вы, «SELECT с несколькими« LIKE »утверждениями»? Это важно, потому что вы хотите, чтобы ваше решение было масштабируемым, а не жестко запрограммированным для ваших текущих 21 группы. – DeadZone
Точно - я не смог найти, чтобы сделать это масштабируемым, используя этот метод. Я пытаюсь найти способ сделать процедуру автоматически сортировать RuleGroup (включая любые новые) при каждом запуске. –