如果将字段名称设置为别名,是否可以在SQL代码中使用该名称?

时间:2014-11-24 20:24:08

标签: sql ms-access

我是使用SQL的初学者,我只是在搞乱学习。如果我试图将名字字段和姓氏字段组合到名称字段中,我可以在我的SQL代码中使用该别名吗?

例如,(使用Northwind Access示例数据库)我试图使用名称字段的别名拉出以“J”开头的所有名称的公司和地址

以下示例代码

SELECT Company, Address, [First Name] + " " + [Last Name] AS Name
FROM Customers
WHERE Name LIKE "J%";

在Access中,这会弹出一个参数框而不返回结果,即使我知道有些名字以J开头。

2 个答案:

答案 0 :(得分:2)

除少数例外情况外,您无法在同一级别的查询中的其他位置使用SELECT中定义的别名。因此,您无法在SELECTWHERE中再次使用别名。

但是可以使用子查询:

SELECT c.*
FROM (SELECT Company, Address, [First Name] & " " & [Last Name] AS Name
      FROM Customers
     ) as c
WHERE Name LIKE "J*";

请注意,我将字符串连接运算符从+更改为&,并将LIKE模式中的通配符从'%'更改为到' *'。这些更改是为了使查询与MS Access兼容。

答案 1 :(得分:1)

根据this,您只能在Access中输出别名。无法将它们用作查询的一部分。没有抓到谁之前发布此链接的信用。