取数据

Pact_Alice 2015-11-02 10:09:18
--根据VGUID进行分组,每组只取一条数据
--一条数据的得来是:根据IDate,PDate,如果IDate与PDate相同就取日期相同的那条数据
--比如VGUID=63BBE20A-E0A2-4A7C-B2FD-05B772071738 这个单子,IDate是2015-09-01,PDate中有2015-09-01 那么Price就取3.0866
--VGUID='1E8010C7-F417-4653-AA64-08AFF41BB37F'这个单子,IDate=2015-09-01 PDate却没有 2015-09-01 那么就取 PDate为最大的,Price就应该是4.0866
;WITH cet AS (
SELECT '63BBE20A-E0A2-4A7C-B2FD-05B772071738'VGUID, '2015-09-01 00:00:00.000'IDate,'2015-07-01 00:00:00.000' PDate,'1C64B8F3-BC52-4A42-9AC6-4C5555233D4E'TVGUID,'4.0866'Price UNION all
select '63BBE20A-E0A2-4A7C-B2FD-05B772071738','2015-09-01 00:00:00.000','2015-09-01 00:00:00.000','1C64B8F3-BC52-4A42-9AC6-4C5555233D4E','3.0866' UNION ALL
select '63BBE20A-E0A2-4A7C-B2FD-05B772071738','2015-09-01 00:00:00.000','2015-08-01 00:00:00.000','1C64B8F3-BC52-4A42-9AC6-4C5555233D4E','5.0866' UNION ALL
select '1E8010C7-F417-4653-AA64-08AFF41BB37F','2015-09-01 00:00:00.000','2015-08-01 00:00:00.000','1C64B8F3-BC52-4A42-9AC6-4C5555233D4E','4.0866' UNION ALL
select '1E8010C7-F417-4653-AA64-08AFF41BB37F','2015-09-01 00:00:00.000','2015-07-01 00:00:00.000','1C64B8F3-BC52-4A42-9AC6-4C5555233D4E','6.0866'
)
SELECT * FROM cet
...全文
62 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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