使用别名的SQL查询

使用别名的SQL查询,sql,sql-server,Sql,Sql Server,我曾尝试在MS SQL server中编写下面的SQL查询,但它在WHERE附近显示语法错误 Select ECUID,ECUNAME FROM (SELECT [ECU-ID] as ECUID, [ECU-NAME]as ECUNAME FROM TBL_ECU_MAST) WHERE ECUID = 147; 请帮我解决这个问题。给你的表达式一个别名 Select aliasHere.ECUID, aliasHere.ECUNAME FROM (SELEC

我曾尝试在MS SQL server中编写下面的SQL查询,但它在WHERE附近显示语法错误

Select ECUID,ECUNAME 
FROM 
(SELECT     [ECU-ID] as ECUID, [ECU-NAME]as ECUNAME FROM         TBL_ECU_MAST)
WHERE ECUID = 147;

请帮我解决这个问题。

给你的表达式一个别名

Select aliasHere.ECUID, aliasHere.ECUNAME 
FROM 
(SELECT     
    [ECU-ID] as ECUID, [ECU-NAME]as ECUNAME 
    FROM         TBL_ECU_MAST) aliasHere
WHERE aliasHere.ECUID = 147;

显然,使用一个更具描述性的别名…

给你的表达式一个别名

Select aliasHere.ECUID, aliasHere.ECUNAME 
FROM 
(SELECT     
    [ECU-ID] as ECUID, [ECU-NAME]as ECUNAME 
    FROM         TBL_ECU_MAST) aliasHere
WHERE aliasHere.ECUID = 147;

显然,使用更具描述性的别名…

为所有子查询提供别名:

SELECT A.ECUID, A.ECUNAME 
FROM 
(
  SELECT [ECU-ID] as ECUID, [ECU-NAME]as ECUNAME 
  FROM TBL_ECU_MAST 
) A
 WHERE A.ECUID = 147;

为所有子查询提供别名:

SELECT A.ECUID, A.ECUNAME 
FROM 
(
  SELECT [ECU-ID] as ECUID, [ECU-NAME]as ECUNAME 
  FROM TBL_ECU_MAST 
) A
 WHERE A.ECUID = 147;

正如@Gordon所建议的,您必须为SQL语句中使用的子查询提供别名


希望这有帮助

正如@Gordon所建议的,您必须为SQL语句中使用的子查询提供别名


希望这有帮助

您可以使用另一种方法。如下面的代码

;with t as
(
SELECT [ECU-ID] AS ECUID, [ECU-NAME] AS ECUNAME FROM TBL_ECU_MAST
)
SELECT ECUID,ECUNAME 
FROM t WHERE ECUID = 147

您可以使用另一种方法。如下面的代码

;with t as
(
SELECT [ECU-ID] AS ECUID, [ECU-NAME] AS ECUNAME FROM TBL_ECU_MAST
)
SELECT ECUID,ECUNAME 
FROM t WHERE ECUID = 147

所有子查询都需要SQL Server中的别名。我认为这是一个印刷错误。所有子查询都需要SQL Server中的别名。我认为这是一个印刷错误。