| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3547 人关注过本帖
标题:请教一句SQL语句。
取消只看楼主 加入收藏
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
结帖率:54.55%
收藏
 问题点数:0 回复次数:10 
请教一句SQL语句。
xs表有单号,客户,日期;mx表有单号,产品,单价等字段。两个表以单号关联,相同客户、相同产品在不同日期有不同的单价,相同产品不同客户单价也不相同。请教查询各客户购买相应产品日期最近的三次记录单价,这个SQL语句如何写。

[此贴子已经被作者于2018-2-6 12:29编辑过]

搜索更多相关主题的帖子: SQL 语句 客户 产品 相同 
2018-02-05 18:11
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
收藏
得分:0 
回复 2楼 gpchxy
谢谢,如果是在两个表查询呢?
2018-02-06 12:31
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
收藏
得分:0 
回复 4楼 mywisdom88
有两个表
2018-02-06 17:47
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
收藏
得分:0 
回复 4楼 mywisdom88
你好,我现在合成为一个临时表,采用你的查询方法。就出现你说的问题,记录大于4条时,查不出来。请问能解决吗?
2018-02-10 00:22
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
收藏
得分:0 
回复 9楼 mywisdom88
我把日期改为datetime型,同时把'排名where <= 3'改为‘排名where <= 4’,是能够找出有四条记录的,但记录有4条的就没有按1234进行排名。现在一个客户最多有对应10条物料记录的,请问能解决吗?
排名有点乱.rar (51.55 KB)


[此贴子已经被作者于2018-2-10 14:31编辑过]

2018-02-10 14:08
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
收藏
得分:0 
回复 11楼 mywisdom88
谢谢你。我的数据结构是这样的,一条销售单记录最多要对应12条销售明细,我是直接用grid做为数据录入,所以,有时候12条销售明细可能是同种产品。我把日期改为datetime型后,超出3条的同样查不出来。请看看数据结构:
我的数据.rar (45.33 KB)
2018-02-11 13:38
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
收藏
得分:0 
回复 15楼 schtg
原始数据
原始数据.rar (943 Bytes)
2018-02-11 15:32
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
收藏
得分:0 
回复 17楼 sdta
我是以单号关联的
2018-02-11 15:55
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
收藏
得分:0 
回复 19楼 sdta
我现在是分多次查询
Select 单号,客户,日期 From 销售单 Where 客户 = lcNamekh Order By 客户 Into Cursor temp1
Select a.单号,a.客户,b.货名,b.价格,a.日期 From temp1 a Left Join 销售表 b On a.单号 = b.单号 Order By 货名 Into Cursor temp2
select a2.客户,a2.货名,a2.价格 as 单价,a2.日期 as 购买日期,a2.排名 as 次序 from (select a1.客户,a1.货名,a1.价格,a1.日期,(select count(日期) as 排名 from temp2 where a1.客户=客户 and a1.货名=货名 and a1.日期<=日期) as 排名 ;
    from temp2 a1) a2 where 排名<=3 And Alltrim(a2.货名) is Not null Into Cursor temp3
这样不就能连接了吗。采用mywisdom88大侠的查询,基本能查出来,就是某销售单对应的销售表记录大于3后,排序就乱了。
*lcNamekh是我要查询的客户名。

[此贴子已经被作者于2018-2-11 16:04编辑过]

2018-02-11 16:02
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
收藏
得分:0 
回复 21楼 mywisdom88
同种产品不用区分颜色,因为产品相同,颜色不同,但价格也是相同的。
所有应该是第一种情况。
2018-02-11 18:08
快速回复:请教一句SQL语句。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016697 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved