27,580
社区成员
发帖
与我相关
我的任务
分享
WITH T AS (
SELECT b.projectName,
a.detailId,
d.planEnd
FROM PmKanbanTask a
JOIN PmProject b
ON a.projectId=b.projectId
JOIN PmTask d
ON a.taskId=d.taskId
)
SELECT projectName,
[1] AS [已下批令],
[2] AS [设计中],
[3] AS [审批中]
FROM T
PIVOT (
MAX(planEnd)
FOR detailId IN ([1], [2], [3]
) p
WITH PmProject(projectId,projectName) AS (
SELECT 1,N'新理想国际大厦'
),
PmTask(taskId,title,planEnd,realBegin,realEnd,projectId) AS (
SELECT 1,N'立柱制作及自检','2013-11-18','2013-11-11','2013-11-18',1 union all
SELECT 2,N'立柱点焊装配','2013-11-19','2013-11-18','2013-11-18',1 union all
SELECT 3,N'立柱焊接','2013-11-20','2013-11-18','2013-11-18',1
),
PmKanbanTask(id,detailId,taskId,projectId) AS (
SELECT 1,1,1,1 UNION ALL
SELECT 1,2,2,1 UNION ALL
SELECT 1,3,3,1
),
T AS (
SELECT b.projectName,
a.detailId,
d.planEnd
FROM PmKanbanTask a
JOIN PmProject b
ON a.projectId=b.projectId
JOIN PmTask d
ON a.taskId=d.taskId
)
SELECT projectName,
[1] AS [已下批令],
[2] AS [设计中],
[3] AS [审批中]
FROM T
PIVOT (
MAX(planEnd)
FOR detailId IN ([1], [2], [3])
) p
WITH PmProject(projectId,projectName) AS (
SELECT 1,N'新理想国际大厦'
),
PmTask(taskId,title,planEnd,realBegin,realEnd,projectId) AS (
SELECT 1,N'立柱制作及自检','2013-11-18','2013-11-11','2013-11-18',1 union all
SELECT 2,N'立柱点焊装配','2013-11-19','2013-11-18','2013-11-18',1 union all
SELECT 3,N'立柱焊接','2013-11-20','2013-11-18','2013-11-18',1
),
PmKanbanTask(id,detailId,taskId,projectId) AS (
SELECT 1,1,1,1 UNION ALL
SELECT 1,2,2,1 UNION ALL
SELECT 1,3,3,1
),
PmKanbanDetail(detailId,title) AS (
SELECT 1,N'已下批令' UNION ALL
SELECT 2,N'设计中' UNION ALL
SELECT 3,N'审批中'
),
T AS (
SELECT b.projectName,
c.title,
d.planEnd
FROM PmKanbanTask a
JOIN PmProject b
ON a.projectId=b.projectId
JOIN PmKanbanDetail c
ON a.detailId=c.detailId
JOIN PmTask d
ON a.taskId=d.taskId
)
SELECT *
FROM T
PIVOT (
MAX(planEnd)
FOR title IN ([已下批令], [设计中], [审批中])
) p
projectName 已下批令 设计中 审批中
--------------- ---------- ---------- ----------
新理想国际大厦 2013-11-18 2013-11-19 2013-11-20