Утро всем
Я надеюсь, что вы можете помочь. Мне удалось добиться этого в Access, но, похоже, не удается в SQL.
Что у меня сейчас работает
В Access я создал 1 БД с 2 таблицами:
- Имя БД «ВСЕ портфели - итоговые значения»
- Имена столбцов: идентификатор, дата-значения, external_ref, имя-портфолио, значение
- Имя БД 'VAL_File_Concatenate'
- Имена столбцов: value_date, external_ref, wrapper_name, model, value
Как это работает в Access - текстовый файл импортируется в VAL_File_Concatenate, затем выполняется следующий код:
INSERT INTO [All Portfolios - Total Values] ( value_date, external_ref, portfolio_name, [value] ) IN 'PATH TO DB'
SELECT [Val_File_Concatenate].value_date, [Val_File_Concatenate].external_ref, [Val_File_Concatenate] [Wrapper_Name] & " - " & [Model] AS portfolio_name, Sum([Val_File_Concatenate].value) AS SumOfvalue
FROM [Val_File_Concatenate]
GROUP BY [Val_File_Concatenate].value_date, [Val_File_Concatenate].external_ref, [Wrapper_Name] & " - " & [Model]
HAVING ((([Val_File_Concatenate].value_date) Is Not Null));
Это копирует значения из VAL_File_Concatenate в соответствующие поля в All_Portfolios - итоговые значения, но объединяет Wrapper_Name и Model в поле Portfolio_Name в таблице Все портфели - итоговые значения с '-' в качестве разделителя.
Для справки VAL_File_Concatenate выглядит следующим образом:
Value_Date External_Ref Wrapper_Name Model Value
2019-03-01 Xxxxxxx/x GIA - Cash Liquidity 0.165
Выходные данные в базе данных ALL Portfolio - Total Values:
Value_Date External_Ref Portfolio_Name Value
2019-03-01 Xxxxxxx/x GIA – Cash - Liquidity 0.165
Чего я пытаюсь достичь
Я перенес базы данных в SQL Server 2008, одну БД с 2 таблицами. То, с чем я борюсь, это часть запроса, которая создает имя_портфеля во всех портфелях - итоговые значения путем объединения полей Wrapper_Name и Model в VAL_File_Concatenate.
Спасибо заранее за любую помощь, которую вы можете оказать. Я пробовал разные методы, но, похоже, не могу обойти ошибки.
Mike