【发布时间】:2019-08-25 07:55:48
【问题描述】:
我有一个查询,它在 SQL Server 2008 R2 Express 中连接 7 个表,总共 852 列。 我正在尝试使用该查询的输出创建一个新表
尝试使用 INTO,但由于表中的某些列具有重复名称,因此无法正常工作
USE VistaBI
SELECT *
INTO NewTable
FROM dbo.Agente FULL JOIN
dbo.Cte ON dbo.Agente.Agente = dbo.Cte.Agente
FULL JOIN
dbo.CteEnviarA ON dbo.Agente.Agente = dbo.CteEnviarA.Agente
FULL JOIN
dbo.Unidad ON dbo.CteEnviarA.Unidad = dbo.Unidad.Unidad
FULL JOIN
dbo.Venta ON dbo.Agente.Agente = dbo.Venta.Agente
FULL JOIN
dbo.VentaD ON dbo.Agente.Agente = dbo.VentaD.Agente
FULL JOIN
dbo.Art ON dbo.VentaD.Articulo = dbo.Art.Articulo
FULL JOIN
dbo.Alm ON dbo.Venta.Almacen = dbo.Alm.Almacen
有没有一种方法可以自动创建表,而不必为 852 列中的每一列键入唯一的名称和数据类型?
【问题讨论】:
-
重复列名的期望结果是什么?结果表中的列名必须是唯一的,那么当它们重复时,您希望它们是什么?您可能可以使用动态 sql 做一些事情。不过,我敢打赌,您可以更有效地利用您的时间来思考为什么需要一个包含 852 列的表,以及是否可能没有更好的方法来实现这一最终目标。
-
嗨,Tab,我不太关心列名,我会将所有这些信息导入 BI 工具,所以我需要 852 列。
-
您能否更具体地了解“导入 BI 工具”的含义?也许您创建了一个视图而不是一个新表?与其他解决方案相比,您认为需要创建此表的原因是什么?
-
嗨Tab,这个完整的范围是我们必须将这个新表发布到Azure,整个数据库有1043个表,我只需要提到的这7个表的信息。此表将在 Azure 中发布,然后连接到 PowerBI 以进行所需的分析
-
为什么不在 Azure 中发布各个表,并编写一个视图或存储过程来执行此操作? PowerBI 可以使用视图或过程。
标签: sql sql-server tsql sql-server-2008 sql-server-2008-r2