如何在SQL Server中更改列名?

时间:2014-09-21 17:54:29

标签: sql-server

我是SQL Server的新手,我想我需要一些帮助。我正在尝试将ItemDistributedStatusAssignedToAssignedDept中的列标题重命名为STATUSASSIGNED TODEPARTMENT,但AS 'column Name' 1}}不会对它们生效,因为我认为它们已经有来自CASE查询的AS。

所以我只是不确定如何做到这一点,已经尝试将其用()封闭,我只是得到了错误。

这是我的查询代码。

SELECT 
   CASE 
      WHEN ItemDistributedStatus = 0 
        THEN 'Available' 
      WHEN ItemDistributedStatus = 1 
        THEN 'Assigned' 
   END AS ItemDistributedStatus, 
   SerialNum AS 'SERIAL', 
   ModelNum AS 'MODEL', 
   ItemType AS 'TYPE', 
   BrandManufacturer AS 'MANUFACTURER', 
   CASE 
      WHEN AssignedTo IS NULL 
        THEN '-' 
        ELSE AssignedTo 
   END AS AssignedTo, 
   CASE 
      WHEN AssignedDept IS NULL 
        THEN '-' 
        ELSE AssignedDept 
   END AS AssignedDept, 
   DateAssigned AS 'DATE'
FROM    
   TblItemDetails

2 个答案:

答案 0 :(得分:0)

SELECT 
    CASE When ItemDistributedStatus = 0 
            then 'Available' 
         When ItemDistributedStatus = 1 
            then 'Assigned' END     AS [STATUS] 
        ,SerialNum                  AS [SERIAL] 
        ,ModelNum                   AS [MODEL] 
        ,ItemType                   AS [TYPE] 
        ,BrandManufacturer          AS [MANUFACTURER] 
        ,ISNULL( AssignedTo, '-')   AS [ASSIGNED TO] 
        ,ISNULL( AssignedDept, '-') AS [DEPARTMENT] 
        ,DateAssigned               AS [DATE]

From    TblItemDetails

答案 1 :(得分:0)

好的,我已经解决了。 :d

SELECT CASE When ItemDistributedStatus = 0 then 'Available' When ItemDistributedStatus = 1 then 'Assigned' END as 'STATUS', 
		SerialNum AS 'SERIAL', 
		ModelNum AS 'MODEL', 
		ItemType AS 'TYPE', 
		BrandManufacturer AS 'MANUFACTURER', 
		CASE When AssignedTo IS NULL then '-' Else AssignedTo END as 'ASSIGNED TO', 
		CASE When AssignedDept IS NULL then '-' Else AssignedDept END as 'DEPARTMENT', 
		DateAssigned AS 'DATE'
From	TblItemDetails