从与另一个表连接的表内选择*时如何使用列别名

时间:2016-09-02 13:56:37

标签: sql ms-access ms-access-2010 alias

我正在使用MS Access 2010.我有内部连接两个表(一个表中的两列,另一个表中的所有列),并且希望在表中的一个列上使用别名,我选择所有列。这里作为当前SQL的一个例子

SELECT 
    Cars.brand, Cars.owner, * 
FROM 
    Cars INNER JOIN Inspections ON Cars.vin = Inspections.vin

现在,当我运行它时,vin列将返回为'Inspections.vin'。我希望它只是读'vin'。这可能吗?

3 个答案:

答案 0 :(得分:1)

只需添加表名,目前您可以从两个表中选择所有列:

SELECT 
    Cars.brand, Cars.owner, Inspections.* 
FROM 
    Cars INNER JOIN Inspections ON Cars.vin = Inspections.vin

答案 1 :(得分:0)

您只能为select语句中明确包含的列指定别名。否则,查询all部分中的所有内容都将返回其原始列名

SELECT 
    Cars.brand, Cars.owner, [vin] = Cars.vin, * 
FROM 
    Cars INNER JOIN Inspections ON Cars.vin = Inspections.vin

答案 2 :(得分:0)

我认为这是您正在寻找的内容,因为您需要来自Inspections的所有列。如果你想要别名,你不能使用*;相反,您需要从“检查”中指定所需的每一列。在我的例子中,好像Inspections只有两个变量;只需添加更多Inpections.whatever,直到您拥有所有列。

SELECT Car.brand, Cars.owner, Inspections.vin as vin, Inspections.othervar
    FROM Cars
INNER JOIN Inspections 
    ON Cars.vin = Inspections.vin