请教sql语句写法,distinct跟orderby的问题

钛元素 2019-10-25 09:47:10
我写了一个语句,有重复值,我用distinct,结果提示:

如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中

去掉distinct有重复值啊,查来查去,不知道怎么办才好,help!

语句如下:

SELECT A.VOUCHER_NO AS [凭证号], CONVERT(VARCHAR(10),A.BOOKKEEPING_DATE,120) AS [记账日期], A.ACCOUNT_YEAR AS [会计年度], 
A.ACCOUNT_PERIOD_SEQNO AS [会计期间序号],
A.VOUCHER_TOTAMT AS [金额汇总], A.ACCOUNT_PERIOD_CODE AS [会计期间期号], A.ATTACHMENT AS [附件数],
F.CASHFLOW_ITEM_CODE+F.CASHFLOW_ITEM_NAME AS [现金流量项目],
CASE F.CASHFLOW_ITEM_PROPERTY WHEN '1' THEN '流入 +' WHEN '-1' THEN '流出 -' WHEN '0' THEN '流入 + /流入 -' END AS [性质]
FROM dbo.VOUCHER A JOIN dbo.VOUCHER_D B ON B.VOUCHER_ID = A.VOUCHER_ID
JOIN dbo.ACCOUNT_CODE D ON D.ACCOUNT_CODE_ID = B.ACCOUNT_CODE_ID
JOIN dbo.VOUCHER_SD E ON E.VOUCHER_D_ID = B.VOUCHER_D_ID
JOIN dbo.CASHFLOW_ITEM F ON F.CASHFLOW_ITEM_ID = E.CASHFLOW_ITEM_ID
WHERE A.ApproveStatus = 'Y'
ORDER BY A.BOOKKEEPING_DATE DESC ,A.VOUCHER_NO DESC
...全文
137 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
钛元素 2019-10-25
  • 打赏
  • 举报
回复
傻了傻了,早该想到的,我发现几个月不写sql就不太会了。谢谢!
二月十六 版主 2019-10-25
  • 打赏
  • 举报
回复
SELECT *
FROM ( SELECT DISTINCT A.VOUCHER_NO AS [凭证号],
CONVERT(VARCHAR(10), A.BOOKKEEPING_DATE, 120) AS [记账日期],
A.ACCOUNT_YEAR AS [会计年度],
A.ACCOUNT_PERIOD_SEQNO AS [会计期间序号],
A.VOUCHER_TOTAMT AS [金额汇总],
A.ACCOUNT_PERIOD_CODE AS [会计期间期号],
A.ATTACHMENT AS [附件数],
F.CASHFLOW_ITEM_CODE + F.CASHFLOW_ITEM_NAME AS [现金流量项目],
CASE F.CASHFLOW_ITEM_PROPERTY
WHEN '1' THEN '流入 +'
WHEN '-1' THEN '流出 -'
WHEN '0' THEN '流入 + /流入 -' END AS [性质]
FROM dbo.VOUCHER A
JOIN dbo.VOUCHER_D B
ON B.VOUCHER_ID = A.VOUCHER_ID
JOIN dbo.ACCOUNT_CODE D
ON D.ACCOUNT_CODE_ID = B.ACCOUNT_CODE_ID
JOIN dbo.VOUCHER_SD E
ON E.VOUCHER_D_ID = B.VOUCHER_D_ID
JOIN dbo.CASHFLOW_ITEM F
ON F.CASHFLOW_ITEM_ID = E.CASHFLOW_ITEM_ID
WHERE A.ApproveStatus = 'Y') t
ORDER BY [记账日期] DESC,
[凭证号] DESC;

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧