2011-12-13 54 views
1

在我的Select查詢中,我只是想根據子查詢(即另一個表中的值)設置列的別名。這在SQL Server 2008中可能嗎?從SQL中的子查詢中設置別名

像:

SELECT tax_Amt AS (SELECT tax FROM Purchase.tblTax WHERE [email protected]_ID) 
FROM Table 

任何方式來實現上面的查詢?

回答

2

不,你不能動態設置標準SQL的別名或列名。

如果需要,您必須使用動態SQL:但請注意,別名適用於列,因此所有行都具有相同的別名。你不能改變行別名行

就個人而言,我會有一個額外的名爲「TaxType」或這樣的列,因爲它聽起來像你想改變每行的名稱。無論如何,即使所有行都具有相同的別名,所以我的客戶端代碼需要「TaxType」

1

嘗試這樣的:

SELECT (SELECT tax FROM Purchase.tblTax WHERE [email protected]_ID) AS tax_Amt 
FROM Table 
+0

我不想別名子查詢,用子查詢別名返回名稱。 – Nithesh

+0

@Nithesh - 我認爲你需要編輯你的問題 - 你還沒有讓自己清楚,因爲這個答案正是我所想的你所要求的。也許增加一個輸入表的例子,預期的結果等? –