SQL语句中的动态别名

Jas*_*n M 9 sql t-sql sql-server sql-server-2005

我想根据SQL Server中查询中某些其他列名的值显示别名.例如

SELECT P.Amount AS (CASE P.Type WHEN 'Individual' THEN 'Salary' ELSE 'Profit' END)
  FROM Person P
Run Code Online (Sandbox Code Playgroud)

我知道上面的说法不对,但这样的事情会有所帮助.

Luk*_*ský 12

我不确定你是否可以添加动态别名,但是你应该可以做这样的事情(如果你只有几个可能的别名):

SELECT
    CASE P.Type WHEN 'Individual' THEN P.Amount ELSE NULL END AS Salary,
    CASE P.Type WHEN 'Individual' THEN NULL ELSE P.Amount END AS Profit
FROM
    Person p
Run Code Online (Sandbox Code Playgroud)