【发布时间】:2017-04-02 11:14:28
【问题描述】:
有没有办法将此查询的结果插入到 SSMS 中的临时表中?我尝试了多种方法,但到目前为止都失败了。
或者还有其他方法吗,我一直在寻找它来查询结果并加入另一个我似乎无法在查询本身中执行的表。
USE CommDB
;With CTE AS (SELECT s.attendanceNumber,
MAX(CASE WHEN s.rnk = 1 THEN s.ExamExaminationCode END) as examCode1,
MAX(CASE WHEN s.rnk = 2 THEN s.ExamExaminationCode END) as examCode2,
MAX(CASE WHEN s.rnk = 3 THEN s.ExamExaminationCode END) as examCode3,
MAX(CASE WHEN s.rnk = 4 THEN s.ExamExaminationCode END) as examCode4,
MAX(CASE WHEN s.rnk = 5 THEN s.ExamExaminationCode END) as examCode5,
MAX(CASE WHEN s.rnk = 6 THEN s.ExamExaminationCode END) as examCode6,
MAX(CASE WHEN s.rnk = 7 THEN s.ExamExaminationCode END) as examCode7,
MAX(CASE WHEN s.rnk = 8 THEN s.ExamExaminationCode END) as examCode8,
MAX(CASE WHEN s.rnk = 9 THEN s.ExamExaminationCode END) as examCode9,
MAX(CASE WHEN s.rnk = 10 THEN s.ExamExaminationCode END) as examCode10,
MAX(CASE WHEN s.rnk = 11 THEN s.ExamExaminationCode END) as examCode11,
MAX(CASE WHEN s.rnk = 12 THEN s.ExamExaminationCode END) as examCode12,
MAX(CASE WHEN s.rnk = 13 THEN s.ExamExaminationCode END) as examCode13,
MAX(CASE WHEN s.rnk = 14 THEN s.ExamExaminationCode END) as examCode14
FROM (
SELECT [AttendanceNumber]
,[ExaminationDate]
,RadiologyID
,[ExamExaminationCode]
,ROW_NUMBER() OVER(PARTITION BY [AttendanceNumber]
ORDER BY [ExamExaminationCode]) as rnk --Ordered ASC so examcodes dont move
FROM [CommDB].[dbo].[tblRadiologyData] rd
where rd.ExaminationDate >= '01 october 2015'
and rd.AttendanceSiteCode IN('CNM','RNM') ) s
GROUP BY s.attendanceNumber)
Select c.examCode1,
c.examCode2,
c.examCode3,
c.examCode4,
c.examCode5,
c.examCode6,
c.examCode7,
c.examCode8,
c.examCode9,
c.examCode10,
c.examCode11,
c.examCode12,
c.examCode13,
c.examCode14,
c.AttendanceNumber,
COUNT(c.AttendanceNumber) as [No of occurances]
-- (Select lu.HRGCode from CommDB.dbo.tblRadiologyNucMedLookup lu
-- Where ISNULL(c.examCode1,'') = ISNULL(lu.Exam01,'')
-- )
from CTE c
GROUP by c.examCode1,
c.examCode2,
C.examCode3,
C.examCode4,
C.examCode5,
C.examCode6,
C.examCode7,
C.examCode8,
C.examCode9,
C.examCode10,
C.examCode11,
C.examCode12,
C.examCode13,
C.examCode14,
C.AttendanceNumber
ORDER BY C.examCode1
【问题讨论】:
-
您遇到的错误是什么?此外,您提到您正在尝试加入另一个表,但您发布的脚本没有任何连接。
-
select .... into #someTemp from CTE group by....
标签: tsql common-table-expression temp-tables