【发布时间】:2017-08-16 09:46:00
【问题描述】:
我收到此错误:
ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效,除非还指定了 TOP、OFFSET 或 FOR XML。
这是我的查询:
SELECT * FROM
(SELECT H.Plotingan as 'Plotingan',
E.EmployeeName as 'Nama',
E.EmployeePosition as 'Jabatan',
E.EmployeeNo as 'NIK',
D.Tanggal,D.DutyCode
FROM CobaDutyDetail D
JOIN CobaDutyHeader H
ON D.CobaDutyHeaderID = H.IDHeaderDuty
JOIN Employee E
ON H.EmployeeID = E.EmployeeID
WHERE E.WorkLocation = 'JAKARTA'
ORDER BY D.CreatedOn DESC)AS SOURCETABLE
PIVOT(MAX(DutyCode)FOR TANGGAL IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30]))AS PIVOTTABLE
【问题讨论】:
-
您在派生表中有一个订单...
-
错误信息很清楚。
-
你为什么需要这个
ORDER BY? -
你试过删除
ORDER BY D.CreatedOn DESC吗? -
@jimmy8ball 使用
select top 100 percent并不能解决问题,它正在解决错误消息。在希伯来语中,我们说“להכשיר את השרץ” - 意思是批准某事为“犹太洁食”,即使它不是。问题不在于错误信息,问题在于order by子句毫无意义,一开始就不应该存在。
标签: sql sql-server sql-server-2014