1

我有以下查询(示例)

SELECT *
FROM Table_1 1 INNER JOIN
Table_2 2 ON 1.C1 = 2.C1 INNER JOIN
Table_3 3 ON 2.C2 = 3.C2 INNER JOIN
Table_4 4 ON 3.C3 = 4.C3

输出是 10+ 列。

当我将鼠标悬停在 * 上时(在“SELECT”之后),我会得到一个工具提示,其中包含这 4 个表中所有不同的列名。

有没有一种方法可以轻松地从 * 切换到这些列名,而不是在 SELECT 之后键入每个列名?

谢谢

4

4 回答 4

7

我假设您在 Management Studio 中工作。如果是这样,请转到对象资源管理器并打开您的表。左键单击 Columns 文件夹并将其拖到您的查询窗口中。将列出该表的所有列。

于 2013-01-04T21:46:16.410 回答
3

从 SQL Server Management Studio 的对象资源管理器中,您可以展开一个表(因此您可以看到 Columns、Keys、Indexes 等文件夹细分)。将文件夹拖到Columns查询窗口将为您提供以逗号分隔的列名列表。

请注意:如果您的四个表中有重复的列名,您必须正确量化这些列。

于 2013-01-04T21:46:16.630 回答
3

我看到您的查询引用了 4 个表。

为避免必须在对象资源管理器中定位和展开 4 个不同的对象,您还可以在 management studio 中选择查询文本,右键单击并选择“在编辑器中设计查询”,然后将列名复制出展开的列表

复制列名而不是简单地按 OK 可以避免设计者弄乱您的格式以及可能的查询。

如果您经常需要,扩展通配符是Redgate SQL Prompt功能的一部分。

于 2013-01-04T21:49:15.583 回答
0

如果使用 DataGrip 编写 SQL,可以按 Alt+Enter -> 展开列列表在此处输入图像描述

于 2018-04-27T11:16:13.683 回答