gpt4 book ai didi

sql - 在 SQL 中重命名 SELECT * 中的单个列,选择除一列之外的所有列

转载 作者:行者123 更新时间:2023-12-03 22:33:48 25 4
gpt4 key购买 nike

这就是我想要做的 - 我有一个包含很多列的表,并且想要创建一个 View ,其中一个列根据其他列中的某些值组合重新分配,例如
Name, Age, Band, Alive ,,, <too many other fields)
我想要一个可以重新分配其中一个字段的查询,例如

Select *, Age = 
CASE When "Name" = 'BRYAN ADAMS' AND "Alive" = 1 THEN 18
ELSE "Age"
END
FROM Table

但是,我现在拥有的架构是 Name, Age, Band, Alive,,,,<too many>,, Age
我可以在我的选择语句中使用“AS”来实现 Name, Age, Band, Alive,,,,<too many>,, Age_Computed.
但是,我想达到的原始模式 Name, Age, Band, Alive.,,,,其中 Age 实际上是计算的年龄。

是否有选择性重命名我可以做 SELECT * and A_1 as A, B_1 as b ? (然后 A_1 完全消失)
还是选择性*,我可以选择除某些列之外的所有列? (这也将解决上一个语句中提出的问题)

我知道枚举所有列并创建适当查询的 hacky 方式,但我仍然希望有一种“更简单”的方式来做到这一点。

最佳答案

抱歉,不,无法使用 SELECT * 替换现有列名随心所欲地 build 。

明确定义列总是更好,尤其是对于 View ,并且永远不要使用 SELECT * .只需在创建 View 时使用表的 DDL 作为模型。这样,您可以更改您想要的任何列定义(如您的问题)并消除不适合 View 的列。我们使用这种技术来屏蔽或消除包含敏感数据(如社会安全号码和密码)的列。 marc_s 在评论中提供的链接是一个很好的阅读。

关于sql - 在 SQL 中重命名 SELECT * 中的单个列,选择除一列之外的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14031225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com