T-SQL:Wild Card作为select语句中的表名别名可能吗?

Jam*_*ons 2 sql t-sql sql-server

这更像是一个好奇而不是实际应用的问题.假设您有多个连接的语句,例如:

SELECT 
    a.name,
    b.salary,
    c.x

FROM 
    [table1] a

INNER JOIN [table2] b
    ON a.key = b.key

INNER JOIN [table3] c
    ON b.key = c.key
Run Code Online (Sandbox Code Playgroud)

现在,假设您要对其模式不熟悉的其他表进行多次连接,但是您知道:

  • 要进行连接的键
  • 其中几个表有一个名为'x'的列.

是否可以从包含它的所有表中选择"x",而无需明确引用表别名.所以它会产生类似的结果(如果可能的话)

SELECT
    a.name,
    b.salary,
    *.x
...
Run Code Online (Sandbox Code Playgroud)

Mar*_*ith 5

不,这是不可能的.

您可以使用a.*从中获取所有列,a但使用通配符作为表名无效.