【问题标题】:Concatenation of SQL 1 to many tables将 SQL 1 连接到多个表
【发布时间】:2021-12-08 11:04:52
【问题描述】:

如果这已经涵盖,我很抱歉,我只是找不到合适的答案。如果有人知道,请告诉我。

我编写了一个快速工具来获取第二个表中的所有字段并将它们连接起来,然后更新第一个表中的 AddtionalTripLineInfo 字段。它相当快,但是,我的问题是,是否有更简单的 SQL 查询来执行此操作并使格式相同?

我正在使用 SQL Server,不管这看起来是否正确或格式不正确,这是我的工作,这就是他们想要的格式。

提前谢谢你!

【问题讨论】:

  • 请将示例简化为最多几列,便于我们理解您的需求。
  • 抱歉,我把它改成了两列。第一张桌子是我想要的。谢谢!
  • MySQL5.x? MySQL 8? SQLite?微软 SQL 服务器? PostgreSQL?甲骨文?等等,等等……为什么要这样定制编码?为什么不是 JSON 或 XML 或任何标准(就此而言,为什么要这样做?)

标签: sql concatenation


【解决方案1】:

从你的图片中我猜你使用的是SQL Server,如果是这样的话......

  • CONCAT() 将结合 SeqNoDistance
  • STRING_AGG() 将合并行

SELECT
  TripID,
  STRING_AGG(
    CONCAT(SeqNo, '|', ThruWayDistanceCalculated),
    '~'
  ) WITHIN GROUP (
      ORDER BY SeqNo
    )
FROM
  example
GROUP BY
  TripID

演示:https://dbfiddle.uk/?rdbms=sqlserver_2019&fiddle=c18456392ee5a242d45a945a8aaadbb2

【讨论】:

  • 谢谢你,马特!这正是我正在寻找的......只是为了找到翻转公司在 2016 年的 sql 服务器上运行并且 STRING_AGG 和其他功能不包含在其中。我很感激这一点,并将把它放在手边。
猜你喜欢
  • 1970-01-01
  • 2012-03-26
  • 2017-09-18
  • 2020-10-11
  • 1970-01-01
  • 1970-01-01
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多