首页 > 解决方案 > 将两个表中的数据连接到 1 个表中的单个条目

问题描述

大家早

我希望你能帮忙。我已经设法在 Access 中实现了这一点,但似乎在 SQL 中失败了。

我目前的工作

在 Access 中,我创建了 1 个带有 2 个表的数据库:

这在 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 - Total Values 中的相关字段中,但将 Wrapper_Name 和 Model 合并到 All Portfolio - Total Values 表中的 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 DB 中的 Access 输出为:

Value_Date     External_Ref      Portfolio_Name            Value
2019-03-01      Xxxxxxx/x       GIA – Cash - Liquidity     0.165

我想要达到的目标

我已将数据库迁移到 SQL Server 2008,带有 2 个表的单个数据库。我正在努力解决的是查询的一部分,它通过合并 VAL_File_Concatenate 中的 Wrapper_Name 和 Model 字段在所有投资组合中创建 Portfolio_Name - 总值。

提前感谢您提供的任何帮助。我尝试了各种方法,但似乎无法克服错误。

麦克风

标签: sqltsqlsql-server-2008

解决方案


在 sql server 中你可以使用 + 而不是 &

    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));

推荐阅读