gpt4 book ai didi

sql-server - 使用 SELECT * 时字段名前面的表名

转载 作者:行者123 更新时间:2023-12-01 10:34:41 25 4
gpt4 key购买 nike

我想知道在结合使用 SELECT *JOIN 时是否有可能显示完整的列名。

例如,我有这个查询(选择从另一个应用程序导入的数据):

SELECT *
FROM Table1 t1
INNER JOIN Table2 t2 ON t1.SomeKey = t2.SomeKey
LEFT JOIN Table3 t3 ON t2.SomeOtherKey = t3.SomeOtherKey

这给了我这样的结果:

+---------+------+-------+------------+---------+--------------+-----------+------------+--------------+-------+---------------+------------+
| SomeKey | Name | Value | WhateverId | SomeKey | SomeOtherKey | ValueType | CategoryId | SomeOtherKey | Value | ActualValueId | SomeTypeId |
+---------+------+-------+------------+---------+--------------+-----------+------------+--------------+-------+---------------+------------+
| bla | bla | bla | bla | bla | bla | bla | bla | bla | bla | bla | bla |
+---------+------+-------+------------+---------+--------------+-----------+------------+--------------+-------+---------------+------------+

我想要的是每个字段前面的表名。结果将是这样的:

+----------------+-------------+-------+------------------+
| Table1.SomeKey | Table1.Name | ..... | Table2.ValueType | .....
+----------------+-------------+-------+------------------+
| bla | bla | ..... | bla | .....
+----------------+-------------+-------+------------------+

我想这样做是因为查询已经给出(没有 SELECT *),我现在必须在其中一个表中找到一个列,该列的值与另一个表中的给定标识匹配.我知道我可以分析每个表格。但是,我想知道是否可以添加任何简单的语句来获取字段名称前面的表名称。

最佳答案

嗯,这个问题的答案是NO。您不能使用 * 为列添加别名。

如果您想使用这些列,请自行指定它们并根据需要为它们取别名,一般来说,我尽量避免使用 * 以避免出现歧义的列。

以这种方式考虑 - 再多工作 2 分钟,以避免可能会花费 100 倍的错误。

关于sql-server - 使用 SELECT * 时字段名前面的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37854273/

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