r****r 发帖数: 1839 | 1 Access版本是2000,两个table t1, t2
t1: CutomerNumber, Invoice, Date, Amount (Amount中有正有负,但只看绝对值)
t2: CutomerNumber, CustomerName
要求产生一个报告,结构为
CustomerName, Invoice, Date, Amount
但是,进入报告的内容必须是CustomerName+Amouont是重复的,在报告中列在一起,
只出现一次的不算,就像
CustomerA, 123, 05/20/2011, 8.35
CustomerA, 234, 04/08/2011, 8.35
CustomerA, 345, 02/01/2010, 8.35
CustomerA, 456, 03/02/2011, 5.05
CustomerA, 567, 08/19/2010, 5.05
CustomerB, 678, 03/01/2009, 2.18
CustomerB, 789, 08/29/2010, 2.18
和面,加yeast,拌馅,准备包子 | r****r 发帖数: 1839 | 2 大牛们礼拜五中午都干啥去了?没人帮着看看?答谢包子都准备好了
【在 r****r 的大作中提到】 : Access版本是2000,两个table t1, t2 : t1: CutomerNumber, Invoice, Date, Amount (Amount中有正有负,但只看绝对值) : t2: CutomerNumber, CustomerName : 要求产生一个报告,结构为 : CustomerName, Invoice, Date, Amount : 但是,进入报告的内容必须是CustomerName+Amouont是重复的,在报告中列在一起, : 只出现一次的不算,就像 : CustomerA, 123, 05/20/2011, 8.35 : CustomerA, 234, 04/08/2011, 8.35 : CustomerA, 345, 02/01/2010, 8.35
| i****a 发帖数: 36252 | 3 select *
from t1 inner join
(
select t1.CutomerNumber, t1.Amount
from t1
where t1.Invoice IN
(
SELECT min(t1.Invoice)
FROM t1
group by t1.CutomerNumber, t1.Amount
having count(*) > 1
)
) t_list
on t1.CutomerNumber = t_list.CutomerNumber
and t1.Amount = t_list.Amount
order by t1.CutomerNumber, t1.Amount
you need to do some clean up, and join t2 for customer name
【在 r****r 的大作中提到】 : Access版本是2000,两个table t1, t2 : t1: CutomerNumber, Invoice, Date, Amount (Amount中有正有负,但只看绝对值) : t2: CutomerNumber, CustomerName : 要求产生一个报告,结构为 : CustomerName, Invoice, Date, Amount : 但是,进入报告的内容必须是CustomerName+Amouont是重复的,在报告中列在一起, : 只出现一次的不算,就像 : CustomerA, 123, 05/20/2011, 8.35 : CustomerA, 234, 04/08/2011, 8.35 : CustomerA, 345, 02/01/2010, 8.35
| B*****g 发帖数: 34098 | 4 1. 哪些Cutomer满足条件要选出来(from t1)?如果这个问题答不出来.........???
2.要同时得到t1,t2的数据要干什么?(join)
3.怎么从2中挑出满足1的?(in)
【在 r****r 的大作中提到】 : Access版本是2000,两个table t1, t2 : t1: CutomerNumber, Invoice, Date, Amount (Amount中有正有负,但只看绝对值) : t2: CutomerNumber, CustomerName : 要求产生一个报告,结构为 : CustomerName, Invoice, Date, Amount : 但是,进入报告的内容必须是CustomerName+Amouont是重复的,在报告中列在一起, : 只出现一次的不算,就像 : CustomerA, 123, 05/20/2011, 8.35 : CustomerA, 234, 04/08/2011, 8.35 : CustomerA, 345, 02/01/2010, 8.35
| r****r 发帖数: 1839 | 5 还没来得及看,先送个包子过去。
【在 i****a 的大作中提到】 : select * : from t1 inner join : ( : select t1.CutomerNumber, t1.Amount : from t1 : where t1.Invoice IN : ( : SELECT min(t1.Invoice) : FROM t1 : group by t1.CutomerNumber, t1.Amount
| r****r 发帖数: 1839 | 6 Join t1, t2只是要找出t2里面的CustomerName
对任何特定Customer,只要abs(Amount)有重复的,就要报告出来,并且
把重复的值列出来。
【在 B*****g 的大作中提到】 : 1. 哪些Cutomer满足条件要选出来(from t1)?如果这个问题答不出来.........??? : 2.要同时得到t1,t2的数据要干什么?(join) : 3.怎么从2中挑出满足1的?(in)
| B*****g 发帖数: 34098 | 7 read 1,2,3 in order
【在 r****r 的大作中提到】 : Join t1, t2只是要找出t2里面的CustomerName : 对任何特定Customer,只要abs(Amount)有重复的,就要报告出来,并且 : 把重复的值列出来。
|
|