首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问透视查询中的SQL透视

访问透视查询中的SQL透视
EN

Stack Overflow用户
提问于 2015-10-29 22:46:11
回答 1查看 97关注 0票数 0

我有以下需要转换为SQL的Access查询-

代码语言:javascript
复制
TRANSFORM 
Sum([anaes_downtime]![ANAESENDTIME]-[anaes_downtime]![anaesstarttime])/24/60 AS Expr1

SELECT downtime_seq.THEATRE, downtime_seq.OPSESSION, downtime_seq.OPDATE
FROM ANAES_Downtime
INNER JOIN downtime_seq ON ANAES_Downtime.opnumber = downtime_seq.opnumber
WHERE (((ANAES_Downtime.ANAESSTARTTIME) <> 0 )
    AND ((ANAES_Downtime.ANAESENDTIME) <> 0 ))
GROUP BY downtime_seq.THEATRE, downtime_seq.OPSESSION, downtime_seq.OPDATE
PIVOT "d" & [opseq] IN ("d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","d10","d11","d12","d13","d14","d15","d16","d17","d18","d19","d20");

我了解sql pivot的基础知识,但一直无法成功转换。有什么帮助吗?

EN

回答 1

Stack Overflow用户

发布于 2015-10-30 19:09:39

我已经用CASE语句找到了我的问题的答案-

代码语言:javascript
复制
SELECT ad.THEATRE, ad.OPSESSION, ad.OPDATE,
   SUM(CASE WHEN opseq = 0
        THEN ad.ANAESENDTIME - ad.anaesstarttime ELSE 0 END) AS 'd0',
   SUM(CASE WHEN opseq = 1
        THEN ad.ANAESENDTIME - ad.anaesstarttime ELSE 0 END) AS 'd1',
   SUM(CASE WHEN opseq = 2
        THEN ad.ANAESENDTIME - ad.anaesstarttime ELSE 0 END) AS 'd2',
   SUM(CASE WHEN opseq = 3
        THEN ad.ANAESENDTIME - ad.anaesstarttime ELSE 0 END) AS 'd3',
   SUM(CASE WHEN opseq = 4
        THEN ad.ANAESENDTIME - ad.anaesstarttime ELSE 0 END) AS 'd4',
   SUM(CASE WHEN opseq = 5
        THEN ad.ANAESENDTIME - ad.anaesstarttime ELSE 0 END) AS 'd5'...    

 ...FROM #ANAES_Downtime ad INNER JOIN #DowntimeSeq ds ON ad.opnumber = ds.opnumber

WHERE ad.ANAESSTARTTIME <> 0 AND  ad.ANAESENDTIME <> 0
GROUP BY ad.THEATRE, ad.OPSESSION, ad.OPDATE
ORDER BY ad.THEATRE, ad.OPSESSION, ad.OPDATE
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33417398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档