2016-07-22 92 views
0

我正在使用SQL Server。我试图进入一个别名字段,作为一个占位符(还没有收到这个数据),我不断收到错误。请看下图。如何输入别名并在此字段中输入全部“”?

enter image description here

我不知道如何在SQL服务器中设置的,但在访问它仅仅是这样的:

enter image description here

任何想法如何,我可以使这项工作?

感谢所有。 下面是SQL脚本:

SELECT  dbo.Plan_ID_Mapping.[Level 3 Service], dbo.Plan_ID_Mapping.[PLAN ID], 
         dbo.All_Enteprise_NONProduction_and_Production_Hardware.Application_Systems_Software_ID_CI_ID AS CI_ID, 
         dbo.All_Enteprise_NONProduction_and_Production_Hardware.Application_Systems_Software_Name_CI_Name AS CI_Name, 
         dbo.All_Enteprise_NONProduction_and_Production_Hardware.Description_Product_Name, dbo.Service_Taxonomy.[Critical Y/N], 
         dbo.Service_Taxonomy.[Criticality Rationale], dbo.qry_BE.BE, dbo.qry_BE.Street, dbo.qry_BE.City, dbo.qry_BE.ST, dbo.qry_BE.Zip, dbo.qry_BE.Country, 
         dbo.qry_BE.O_L, dbo.qry_BE.ENTITY, dbo.qry_BE.Comp_Code 
FROM   dbo.Plan_ID_Mapping INNER JOIN 
         dbo.All_Enteprise_NONProduction_and_Production_Hardware ON 
         dbo.Plan_ID_Mapping.[PLAN ID] = dbo.All_Enteprise_NONProduction_and_Production_Hardware.Plan_Id INNER JOIN 
         dbo.LocationWorkSpaceByPlanWithAllIn ON 
         dbo.All_Enteprise_NONProduction_and_Production_Hardware.Plan_Id = dbo.LocationWorkSpaceByPlanWithAllIn.Plan_Id INNER JOIN 
         dbo.qry_BE ON dbo.LocationWorkSpaceByPlanWithAllIn.Location_ID = dbo.qry_BE.BE INNER JOIN 
         dbo.Service_Taxonomy ON dbo.Plan_ID_Mapping.[Level 3 Service] = dbo.Service_Taxonomy.[Level 3] 
GROUP BY dbo.Plan_ID_Mapping.[Level 3 Service], dbo.All_Enteprise_NONProduction_and_Production_Hardware.Application_Systems_Software_ID_CI_ID, 
         dbo.All_Enteprise_NONProduction_and_Production_Hardware.Application_Systems_Software_Name_CI_Name, dbo.Plan_ID_Mapping.[PLAN ID], 
         dbo.All_Enteprise_NONProduction_and_Production_Hardware.Description_Product_Name, dbo.Service_Taxonomy.[Critical Y/N], 
         dbo.Service_Taxonomy.[Criticality Rationale], dbo.qry_BE.BE, dbo.qry_BE.Street, dbo.qry_BE.City, dbo.qry_BE.ST, dbo.qry_BE.Zip, dbo.qry_BE.Country, 
         dbo.qry_BE.O_L, dbo.qry_BE.ENTITY, dbo.qry_BE.Comp_Code 
+0

我们需要看到你的代码。你的分组是不正确的。 – scsimon

+0

感谢您的代码。上面的屏幕截图中的PACKAGE_ID是什么?它不包含在你的SQL脚本中 – scsimon

回答

1

快速解答: 取消选中GROUP BYPACKAGE_ID

说明

看起来PACKAGE_ID是要创建的别名列。如果哪里没有什么东西,你就不能对它进行分组。为了清晰起见,我使用表别名重写了下面的查询,并评论了它的真实外观。正在发生的事情是,因为你不具备任何PACKAGE_ID SQL语句字面上将反映:

SELECT NULL AS PACKAGE_ID

你的错误就在于试图小组在NULLLITERAL。你不能在文字上分组。例如,下面的查询将不起作用,因为我们试图在2007年文字上进行分组。为了使其工作,我们必须从分组中删除2007年。

SELECT 
    COLUMN1, 
    COLUMN2, 
    2007 
FROM 
    TABLE1 
GROUP BY 
    COLUMN1, 
    COLUMN2, 
    2007 

代码

SELECT 
    map.[Level 3 Service], 
    map.[PLAN ID], 
    eh.Application_Systems_Software_ID_CI_ID AS CI_ID, 
    eh.Application_Systems_Software_Name_CI_Name AS CI_Name, 
    eh.Description_Product_Name, 
    tax.[Critical Y/N], 
    tax.[Criticality Rationale], 
    qry.BE, 
    qry.Street, 
    qry.City, 
    qry.ST, 
    qry.Zip, 
    qry.Country, 
    qry.O_L, 
    qry.ENTITY, 
    qry.Comp_Code, 
    NULL as PACKAGE_ID   --this is your blank alias field you created 
FROM 
    dbo.Plan_ID_Mapping map 
INNER JOIN 
    dbo.All_Enteprise_NONProduction_and_Production_Hardware eh ON 
    map.[PLAN ID] = eh.Plan_Id 
INNER JOIN 
    dbo.LocationWorkSpaceByPlanWithAllIn loc ON 
    eh.Plan_Id = loc.Plan_Id 
INNER JOIN 
    dbo.qry_BE qry ON 
    loc.Location_ID =qry.BE 
INNER JOIN 
    dbo.Service_Taxonomy tax ON 
    map.[Level 3 Service] = tax.[Level 3] 
GROUP BY 
    map.[Level 3 Service], 
    eh.Application_Systems_Software_ID_CI_ID, 
    eh.Application_Systems_Software_Name_CI_Name, 
    map.[PLAN ID], 
    eh.Description_Product_Name, 
    tax.[Critical Y/N], 
    tax.[Criticality Rationale], 
    qry.BE, 
    qry.Street, 
    qry.City, 
    qry.ST, 
    qry.Zip, 
    qry.Country, 
    qry.O_L, 
    qry.ENTITY, 
    qry.Comp_Code, 
    NULL     --This is your query trying to group on the blank field