2014-03-31 71 views
0

我试过用SQL编写一个简单的透视函数。我的主要问题是所涉及的所有表格都没有数字。我认为这是我得到一个结果的主要原因,其余的是NULL,即使有些单元格中有数据。 这是我的函数:没有数字的枢轴得到null

SELECT Inspector, ShiftManager, ForkliftOperator, CalibrationOperator, sorted 
FROM (SELECT LHAPP_OWNER.dbo.Personnel.FirstName + ' ' + LHAPP_OWNER.dbo.Personnel.LastName 
      AS name, LHAPP_OWNER.dbo.PersonnelGroup.PersonnelGroup 
    FROM MachineGroup 
      INNER JOIN _MG_CurrentEmployee ON MachineGroup.MachineGroupID = _MG_CurrentEmployee.MachineGroupID 
      INNER JOIN LHAPP_OWNER.dbo.PersonnelGroup ON _MG_CurrentEmployee.PerssonelGroupID = LHAPP_OWNER.dbo.PersonnelGroup.PersonnelGroupID 
      LEFT OUTER JOIN LHAPP_OWNER.dbo.Personnel ON _MG_CurrentEmployee.PerssonelID = LHAPP_OWNER.dbo.Personnel.PersonnelID 
    WHERE (MachineGroup.MachineGroup = N'Line 1')) tbl PIVOT 
(MIN(name) FOR PersonnelGroup IN (Inspector, ShiftManager, ForkliftOperator, CalibrationOperator, sorted)) tbl2 

我不知道做什么用的名字做,所以我只是把它MIN。我知道这可能是错的。 有人能帮我一把吗?

我内选择看起来像这样的主表:

name    ||  PersonnelGroup 
--------------------------------------- 
ron roni   ||  Inspector 
Lighthouse Systems || Shift Manager 
gali logi   || Forklift Operator 
NULL    || Calibration Operator 
NULL    ||    sorted 

功能后,我得到这样的:

Inspector|ShiftManager|ForkliftOperator|CalibrationOperator|Sorted 
------------------------------------------------------------------------ 
ron roni |  NULL | NULL | NULL | NULL 
+1

您尝试使用哪种RDMS和版本。它看起来像sql server 2008 R2 – gh9

+0

你是对的 –

回答

0

现在没关系。我发现了这个问题。一些PersonnelGroup的名字里有两个单词,我找了一个词组合了两个单词,所以没有找到答案。例如,我将'ShiftManager'更改为'[Shift Manager]'