Reputation: 49
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
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
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
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
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