shweta
shweta

Reputation: 49

SQL query using alias

I have tried to write below SQL query in MS SQL server, but it is showing syntax error near WHERE.

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

Please help me to solve this.

Upvotes: 1

Views: 103

Answers (4)

hassan naeimi
hassan naeimi

Reputation: 119

you can use another way.like below code

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

Upvotes: 3

DataWrangler
DataWrangler

Reputation: 2165

As @Gordon suggested you have to give an alias name for the SubQuery used within the SQL Statement

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

Hope this helps!!

Upvotes: 2

Mansoor
Mansoor

Reputation: 4192

Give alias name for all sub queries :

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

Upvotes: 0

Milney
Milney

Reputation: 6427

Just give your expression an Alias;

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

Obviously use a more descriptive alias...

Upvotes: 3

Related Questions