Foxtable(狐表)用户栏目专家坐堂 → [求助] SQL查询语句


  共有2404人关注过本帖树形打印复制链接

主题:[求助] SQL查询语句

帅哥哟,离线,有人找我吗?
ncefans
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:94 积分:800 威望:0 精华:0 注册:2013/2/11 18:26:00
[求助] SQL查询语句  发帖心情 Post By:2015/8/24 20:18:00 [只看该作者]

有一个"客户订单"表,列有: 订单日期,客户编号,品名,规格,销售单价,数量,税率.

要列出客户编号为"PD001",不同品名/规格,所对应最后一次订单的销售单价,数量,税率.

SELECT DISTINCT 品名,规格 Fro m {客户订单} WHERE 客户编号='PD001'
这个查询可以得到该客户编号的所有不同品名/规格的列表, 接下来, 应该怎么样把这个结果作为条件,得到下一步的结果呢?  谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/24 20:28:00 [只看该作者]

方法一:

 

Select 品名,规格, (select top 1 销售单价 fr om {客户订单} b where a.品名 = b.品名 and a.规格 = b.规格 order by 订单日期 desc), (select top 1 销售单价 fr om {客户订单} b where a.品名 = b.品名 and a.规格 = b.规格 order by 订单日期 desc) Fr om {客户订单} as a group by 品名,规格

 

方法二

 

select * fr om {客户订单} as a inner join (select 品名,规格, max(订单日期) as 订单日期 fr om {客户订单} group by 品名,规格) as b on  a.品名 = b.品名 and a.规格 = b.规格 and a.订单日期 = b.订单日期


 回到顶部
帅哥哟,离线,有人找我吗?
ncefans
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:94 积分:800 威望:0 精华:0 注册:2013/2/11 18:26:00
  发帖心情 Post By:2015/8/24 20:32:00 [只看该作者]

谢谢版主如此快的回复,我两种都测试一下.......SQL要加强学习中了.

 回到顶部
帅哥哟,离线,有人找我吗?
ncefans
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:94 积分:800 威望:0 精华:0 注册:2013/2/11 18:26:00
  发帖心情 Post By:2015/8/24 20:49:00 [只看该作者]

利用第一种方法,
Select 品名,规格, (select top 1 销售单价 fr om {客户订单} b where a.品名 = b.品名 and a.规格 = b.规格 order by 订单日期 desc), (select top 1 数量 fr om {客户订单} b where a.品名 = b.品名 and a.规格 = b.规格 order by 订单日期 desc), (select top 1 税率 fr om {客户订单} b where a.品名 = b.品名 and a.规格 = b.规格 order by 订单日期 desc) Fr om {客户订单} as a group by 品名,规格

得到了正确的结果. 生成五列:  品名,规格,column1,column2,column3..
如何指定后三列的列名....正在百度中.....

 回到顶部
帅哥哟,离线,有人找我吗?
ncefans
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:94 积分:800 威望:0 精华:0 注册:2013/2/11 18:26:00
  发帖心情 Post By:2015/8/24 20:56:00 [只看该作者]

方法一的完整语句是:

Select 品名,规格, (select top 1 销售单价 fr om {客户订单} b where a.品名 = b.品名 and a.规格 = b.规格 order by 订单日期 desc) 销售单价, (select top 1 数量 fr om {客户订单} b where a.品名 = b.品名 and a.规格 = b.规格 order by 订单日期 desc) 数量, (select top 1 税率 fr om {客户订单} b where a.品名 = b.品名 and a.规格 = b.规格 order by 订单日期 desc) 税率 Fr om {客户订单} as a group by 品名,规格

再次感谢!

 回到顶部