0
我想在SQL Server Management Studio中使用对表的自引用来添加计算列。SQL计算列从临时表
我列如下:
[Employee ID] [Previous State Date] [Previous State]
[Next State Date] [Next State]
我想增加一列,显示第三状态([下一步状态]列之后发生)。例如,如果有人从状态去 - “乙 - > C,将有两行:
[Employee 1][1/1/2016][a][1/2/2016][b]
[Employee 1][1/2/2016][b][1/3/2016][c]
我想要的数据只是表明:
[Employee 1][1/1/2016][a][1/2/2016][b][c]
要做到这一点,我创建两列,即连接状态,日期和员工ID的[PreviousID]
和[NextID]
。
我想用一个临时表中的temp.[Next State] WHERE table.[Next State] = temp.[Previous State]
当我尝试这种新列带来,我得到的错误:
Subqueries are not allowed in this context. Only scalar expressions are allowed.
我的代码:
SELECT * INTO #temp FROM table
ALTER TABLE table
ADD [Next Next State] AS (SELECT [Next State]
FROM temp
WHERE table.[Next State] = temp.[Previous State])
你可以标记你正在使用SQL Server你的问题的意见。另外,这听起来你需要一个单独的状态表来管理这些状态。 – Peter4499
已标记。即时通讯使用SQL Server Management Studio 2012 –
你有基本表的主键吗? –