我有以下查询返回我的数据,如下面的示例
Nov 1 2017
Nov 21 2017
Oct 29 2017
Oct 30 2017
我希望我的数据按原样返回
Oct 29 2017
Oct 30 2017
Nov 1 2017
Nov 21 2017
我在日期值上尝试了orderby子句,但我没有运气......
以下是我想要整合排序功能的完整查询。
SELECT
DISTINCT CONVERT(varchar(11),E1_INTEGRATE.DBO.ConvertJulianDateToStd(WLDRQJ)) AS 'Due date',
WLDOCO,
E1_INTEGRATE.DBO.ConvertJulianDateToStd(PDPDDJ),
PDTORG as 'Buyer',
PDDOCO,
'Supplier' =
(SELECT
ABALPH
FROM ps_prod.proddta.F0101
WHERE PHAN8 = ABAN8
),
WLKITL
FROM ps_prod.proddta.F3112 -- Work Order Routing
INNER JOIN
ps_prod.proddta.F4311 -- Purchase order detail
ON
substring(WLRORN, patindex('%[^0]%',WLRORN), 8) = CAST(PDDOCO as VARCHAR(8))
AND WLRKCO = PDKCOO
INNER JOIN
ps_prod.proddta.F4301
ON
PDDOCO = PHDOCO
INNER JOIN
ps_prod.proddta.F57JTDT f1
ON
F4311.PDCNID = f1.JDDOCO
AND f1.JDZZCAT5 = 30
AND f1.JDZZFN5 = 20
AND f1.JDZZFLDV = 'Yes'
INNER JOIN
ps_prod.proddta.F57JTDT f2
ON
F4311.PDCNID = f2.JDDOCO
AND f2.JDZZCAT5 = 30
AND f2.JDZZFN5 = 70
AND f2.JDZZFLDV = 'Yes'
WHERE
DATEDIFF(DAY,GETDATE(),E1_INTEGRATE.DBO.ConvertJulianDateToStd(WLDRQJ) ) < 30
AND RTRIM(WLRORN) > ' '
AND E1_INTEGRATE.DBO.ConvertJulianDateToStd(WLDRQJ) > CONVERT(datetime,CONVERT(varchar(10),DATEADD(dd, -1, GETDATE()),101))
AND PDAEXP = 0 -- Extended Price
AND PDUOPN > 0 -- Unit open quantity
AND PDNXTR = '400'
答案 0 :(得分:0)
在查询结束时尝试此操作:
ORDER BY CONVERT(varchar, DueDate, 112)
<强>更新强>
实际上DueDate不是您想要订购的字段,它只是查询结尾的别名,当我查看您的查询时JulianDate似乎可以订购,所以您也可以试试这个:
ORDER BY WLDRQJ
答案 1 :(得分:-1)
选择
DISTINCT REPLACE(CONVERT(varchar(12),E1_INTEGRATE.DBO.ConvertJulianDateToStd(WLDRQJ),107),',','')AS'截止日期'