| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3554 人关注过本帖
标题:请教一句SQL语句。
只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用yafengliang在2018-2-11 13:38:56的发言:

谢谢你。我的数据结构是这样的,一条销售单记录最多要对应12条销售明细,我是直接用grid做为数据录入,所以,有时候12条销售明细可能是同种产品。我把日期改为datetime型后,超出3条的同样查不出来。请看看数据结构:

同1张单,怎么会出现12行相同产品的,业务有问题吧.
看了你"销售表"的数据,其他,有颜色这个,如果你存在以下的情况
1.同1个表格中,有N行相同的名称,只是颜色不同,录入时间也相同,
则,去重复,把所以的只算是1条业务计算
2.同1个表格中,也要区分颜色,那就要 货名+颜色来处理

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

2018-02-11 17:22
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
收藏
得分:0 
回复 21楼 mywisdom88
同种产品不用区分颜色,因为产品相同,颜色不同,但价格也是相同的。
所有应该是第一种情况。
2018-02-11 18:08
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
那就先去重复,生成临时表,目的是把你同1个日期,相同 客户,货名,价格,多行的数据,只保留1行,然后在安上面的方法做
select distinct 单号,客户,货名,价格,日期 from 你表名 into cursor 临时表

2018-02-11 19:06
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
收藏
得分:0 
回复 23楼 mywisdom88
谢谢你,终于成功了。
2018-02-11 19:43
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
收藏
得分:0 
数据唯一性的问题,每个一单都有流水单号吧,这个是唯一的。用这个匹配数据不就可以了?
2018-02-11 23:19
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
回复 24楼 yafengliang
*总结分类排名问题,VFP9.0语法
create cursor 考试(学生 c(10),学科 c(10),成绩 n(6,2))
insert into 考试 ;
select '张三','语文',90 union all ;
select '李四','语文',90 union all ;
select '王五','语文',85 union all ;
select '赵六','语文',80 union all ;
select '陈七','语文',85 union all ;
select '张三','数学',91 union all ;
select '李四','数学',90 union all ;
select '王五','数学',85 union all ;
select '赵六','数学',80 union all ;
select '陈七','数学',85 union all ;
select '张三','英语',92 union all ;
select '李四','英语',93 union all ;
select '王五','英语',85 union all ;
select '赵六','英语',93 union all ;
select '陈七','英语',85

* 1.按学科,成绩排名,相同名次时,排名往后排,如2个第3名时,并排第4

select a1.学科,a1.学生,a1.成绩, ;
       (select count(成绩) from 考试 where 学科=a1.学科 and 成绩>=a1.成绩) as 名次 ;
from 考试 a1 ;
order by 学科,名次 asc

* 2.按学科,成绩排名,相同名次时,排名往前排,如2个第3名时,并排第3

select a1.学科,a1.学生,a1.成绩, ;
       (select count(成绩)+1 from 考试 where 学科=a1.学科 and 成绩>a1.成绩) as 名次 ;
from 考试 a1 ;
order by 学科,名次 asc
图片附件: 游客没有浏览图片的权限,请 登录注册

2018-02-12 10:04
schtg
Rank: 12Rank: 12Rank: 12
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1545
专家分:3003
注 册:2012-2-29
收藏
得分:0 
回复 26楼 mywisdom88
学习啦,谢谢!
2018-02-12 13:17
schtg
Rank: 12Rank: 12Rank: 12
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1545
专家分:3003
注 册:2012-2-29
收藏
得分:0 
回复 16楼 yafengliang
你的问题已经解决啦,我不再研究,恭喜你!
2018-02-12 13:18
快速回复:请教一句SQL语句。
数据加载中...
 
   



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

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