如何在选择时重命名表中的单个列?
Posted
技术标签:
【中文标题】如何在选择时重命名表中的单个列?【英文标题】:How can I rename a single column in a table at select? 【发布时间】:2009-03-05 10:24:42 【问题描述】:我有两张表,列名相同,但数据不同。我想加入表格,但访问两列(row["price"], row["other_price"]):如何在 select 语句中重命名/别名其中之一? (我不想在数据库中重命名它们)
【问题讨论】:
【参考方案1】:选择 table1.price,table2.price 作为 other_price .....
【讨论】:
两个表中有 25 个相同的列怎么样?我应该为所有 25 列编写 AS 语句吗? 简短回答是。 OTOH,如果您没有足够的时间编写 25 个 AS 语句,您可以从 SysColumns 中提取列名并编写一些 SQL 来创建 SQL。简单的方法可能是 5 分钟 ...【参考方案2】:select t1.Column as Price, t2.Column as Other_Price
from table1 as t1 INNER JOIN table2 as t2
ON t1.Key = t2.Key
喜欢这个?
【讨论】:
【参考方案3】:我们使用 AS 关键字
select a.Price as PriceOne, b.price as PriceTwo
from tablea a, tableb b
【讨论】:
【参考方案4】:如果像我一样,您正在为一个列执行此操作,该列然后通过 COALESCE / array_to_json / ARRAY_AGG / row_to_json (PostgreSQL) 并希望在列名中保留大写字母,请在列名中加双引号,如下所示:
SELECT a.price AS "myFirstPrice", b.price AS "mySecondPrice"
没有引号(以及在使用这些函数时),我在 camelCase 中的列名将丢失大写字母。
【讨论】:
【参考方案5】:如果您使用的是 sql server,请在代码中的查询中使用括号或单引号将别名括起来。
【讨论】:
【参考方案6】:您也可以省略 AS 关键字。 SELECT row1 Price, row2 'Other Price' FROM exampleDB.table1;
在这个选项中,可读性有点下降,但你得到了想要的结果。
【讨论】:
【参考方案7】:不用AS
,直接用:
SELECT table1.price Table1 Price, table2.price Table2 Price, .....
【讨论】:
【参考方案8】:您可以选择的另一个选项:
select price = table1.price , other_price = table2.price from .....
参考:
如果您对aliasing a column using “=” versus “as” 的性能或其他方面感到好奇。
【讨论】:
以上是关于如何在选择时重命名表中的单个列?的主要内容,如果未能解决你的问题,请参考以下文章
如何在将通用工件上传到jenkins管道中的JFrog Artifactory时重命名现有文件夹