2017-04-26 37 views
1

我試圖在MS SQL服務器中寫下SQL查詢,但它在處顯示語法錯誤,其中使用別名的SQL查詢

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

請幫我解決這個問題。

+2

另一way.like所有子查詢需要在SQL Server的別名。我認爲這是一個印刷錯誤。 –

回答

2

由於@Gordon建議你必須給所使用子查詢的別名SQL語句

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

希望這有助於!

3

只要給你的表達一個別名;

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

顯然使用更具描述性的名稱...

0

給別名爲所有子查詢:

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

您可以使用下面的代碼

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