2013-12-04 3 views
0

Я хотел бы создать динамическую таблицу, которая берет первые 5 столбцов из статической таблицы и умножает ее на поле значения.Таблица SQL, которая вычисляет значения из другой таблицы SQL

1. статическая таблица (Cases):

Column A; Column B; Column C; Column D; Column E; Value; Jan (cases);...;Dec(cases) 

2. Динамическая таблица (value * cases by month)

Column A; Column B; Column C; Column D; Column E; Jan (value * cases);...;Dec(value * cases) 

В первенствует я бы только время, клетка за клеткой рядом с ним. Но я хочу, чтобы sql создавал/обновлял базу данных каждый раз, когда загружался новый статический файл.

ОК обновление
после просмотра мне нужно что-то немного по-другому, мне нужно взять 2 таблицы и накапливают их друг с другом одной таблицы будет cases и другие в product value
cases table:
счета; Channel; [PROD CODE] (это мой ключ.); Jan; февраль; Mar; апрель; Май; июнь; июль; август; сентябрь; октябрь; ноябрь; Dec
price table:
Год; SKU (это мой ключ.); [Наименование товара]; Jan; февраль; Mar; апрель; Май; июнь; июль; август; сентябрь; октябрь; ноябрь; декабрь;
Числовое значение указано в отдельных месяцах.
Другими словами мне нужно
cases table. JAN * price table. Jan, где cases table. primary key = price table. primary key

+0

Пожалуйста, отправьте образец вывода – DevelopmentIsMyPassion

+0

Будьте осторожны с вашей формулировкой. Вероятно, вы не хотите создавать базу данных' в каждом случае. Таким образом, у вас действительно есть несколько вопросов: а) как вы обновляете/создаете таблицу из значений в другой таблице. б) Что предпочтительнее: обновление или (повторное) создание. c) Как срабатывать этот шаг? –

+0

с точки зрения обновления, я получаю ежемесячные файлы, которые нужно зайти в базу данных, затем я хочу рассчитать и связать его с внутренней базой данных.Процесс будет состоять в том, чтобы получать данные в плоских файлах от менеджеров и загружать их в SQL, это когда мне хотелось бы, чтобы все преобразования в данные произошли. – sephiroth85

ответ

0

Посмотрите на вычисленный columns.

Или, если вам необходимо включить другую таблицу в расчете, можно создать определенную пользователем функцию:

CREATE FUNCTION dbo.GetValue(INT @code, INT @rec) 
RETURNS INT 
AS ... 

Тогда вы изменили бы таблицу, добавив столбец:

ALTER TABLE dbo.Mytbl 
    ADD MyCalcCol AS dbo.GetValue(CodeVal, RecVal) 

Другая мысль ... почему бы просто не создать представление или даже индексированное представление.

CREATE VIEW vwTableYear AS 
    SELECT [Month number in cases]*[price of product] AS MonthlyValue 
    FROM myTableYear 
+0

Создание представления было бы хорошим вариантом, хотя как я могу сказать, что он принимает столбцы и таблицу, а затем умножить его на определенное значение – sephiroth85

+0

Если я вас правильно понял, то, как tihs коснуться, который сочетает в себе данные из двух таблиц: CREATE VIEW vwMyView AS ВЫБОР a.col1, b.col1 * 2 оТ MyTbl1 AS в INNER JOIN MyTbl2 AS b ON a.id = b.Id – SAS

+0

Мне удалось войти в мою таблицу, выполнив это ALTER TABLE myTableYear ADD [MonthlyValue] AS [Номер месяца в случаях] * [цена продукта] – sephiroth85

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