【问题标题】:How can I add a prefix to the column names of a join table in T-SQL?如何在 T-SQL 中为连接表的列名添加前缀?
【发布时间】:2021-02-21 14:18:38
【问题描述】:

我在 T-SQL 中连接两个具有相同列名的表,我不仅想通过引用来区分它们,而且我想在生成的连接表中区分它们。

我想为来自原始表或连接表的所有列添加前缀,例如Table1-Col1、Table2-Col1 等

有没有一种快速的方法来做到这一点,这样我就不必在查询中一一重复所有列?

【问题讨论】:

  • 没有快速的方法。你需要一个一个地做。
  • 复制/粘贴加上一点用正则表达式查找/替换应该可以解决问题。这显然在您的 IDE 中,而不是实际运行查询的一部分

标签: sql-server tsql join multiple-columns


【解决方案1】:

RE:“有没有一种快速的方法可以做到这一点,这样我就不必在查询中一一重复所有列?”

不确定您能多快找到以下内容。我一直在用宽桌子做这件事。收支平衡与一次做一个对我来说大约是 6 或 8 列。您的里程可能会有所不同。

  1. 将 ObjectExplorer 中表下的“列”选项卡拖放到 SSMS 查询窗口中。这给出了一个逗号分隔的列表。

  2. 将逗号分隔的列表复制到 Excel 中。

  3. 使用数据 - 文本到列。将逗号分隔的字符串转换为电子表格中的一组列。

  4. 将列复制到剪贴板。

  5. 选中转置的特殊粘贴

  6. 在下一列的单元格中使用 CONCAT 来构建创建列字符串的公式。例如,

    =CONCAT(", ", A17, " as Table1-", A17)

  7. 将公式复制到所有列

  8. 将列复制回 SSMS。此时您将需要删除一个额外的逗号。

如上所述,我经常使用 Excel 进行这些类型的转换。

【讨论】:

    猜你喜欢
    • 2010-12-22
    • 2013-01-30
    • 2015-12-05
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多