sql - 将两个表中的数据连接到 1 个表中的单个条目
问题描述
大家早
我希望你能帮忙。我已经设法在 Access 中实现了这一点,但似乎在 SQL 中失败了。
我目前的工作
在 Access 中,我创建了 1 个带有 2 个表的数据库:
- 数据库名称“所有投资组合 - 总值”
- 列名:ID、value_date、external_ref、portfolio_name、value
- 数据库名称“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 - 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 - 总值。
提前感谢您提供的任何帮助。我尝试了各种方法,但似乎无法克服错误。
麦克风
解决方案
在 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));
推荐阅读
- c# - 更新一个通用列表
与另一个通过 Linq c# - python - 将零移到最后:为什么我的 Python 代码未能通过 CodeWars 中的测试?
- python - 为什么来自多个 python 进程的 python 线程在同一个 cpu 上运行?
- android - 如何以编程方式保持纵横比居中裁剪图像?
- state - Apache Flink 中的有状态函数容错消息分发
- amazon-web-services - 如何使用boto3 lib在lambda函数中获取所有区域中的所有aws资源
- jquery - jQuery $.each 循环:更改对象属性
- c# - 如何查找给定本地 IP 地址的网络接口
- r - 如何根据唯一值的数量选择列?
- javascript - 如何防止电子表格中来自 Google Web App 表单的受访者之间的混合数据?