在SQL中从子查询设置别名

时间:2011-12-13 07:22:47

标签: sql-server sql-server-2008 subquery aliasing

在我的Select查询中,我只想根据子查询(即另一个表中的值)设置列的别名。这在SQL Server 2008中是否可行?

像:

SELECT tax_Amt AS (SELECT tax FROM Purchase.tblTax WHERE tax_ID=@tax_ID) 
FROM Table

以任何方式实现上述查询?

2 个答案:

答案 0 :(得分:2)

不,您无法在标准SQL中动态设置别名或列名。

如果需要,您必须使用动态SQL:但请注意别名适用于列,因此所有行都具有相同的别名。您不能逐行更改别名

就个人而言,我还有一个名为“TaxType”的额外列,或者因为你想要改变每行的名称。即使所有行都具有相同的别名,我也会这样做,所以我的客户端代码需要“TaxType”

答案 1 :(得分:1)

试试这样:

SELECT (SELECT tax FROM Purchase.tblTax WHERE tax_ID=@tax_ID) AS tax_Amt  
FROM Table
相关问题