首页 > 解决方案 > 是否可以将表别名附加到列名以找出列的来源?

问题描述

我有一个查询,当我从多个表中选择 * 时,我正在尝试返工有超过 1,000 列的查询。我想知道 SQL 中是否有一种方法可以用表别名标记列别名,这样我就可以知道这些列来自哪个表。它如下所示:

SELECT *
FROM table1 t1
join table2 t2
join table3 t3
join table4 t4

当前列输出:id,id,id,id,name,name,name,name,order,order,order,order

所需的列输出:t1.id, t1.name, t1.order, t2.id, t2.name, t2.order,t3.id, t3.name, t3.order, t4.id, t4.name, t4。命令

这是一个非常简单的示例,但您可以想象尝试从 1,000 列的海洋中找出您需要的列,并试图找出它来自哪个表!有任何想法吗??

标签: sql

解决方案


您必须手动分配非默认列别名:

select t1.id as t1_id, t1.name as t1_name, t1.order as t1_order, 
       t2.id as t2_id, t2.name as t2_name, t2.order as t2_order, 
       . . .

如果您有很多列,您可能会发现电子表格或查询会有所帮助。


推荐阅读