这道题目来源于博客园,原题要求有些简单,我稍作修改:
某公司网站上的广告位是轮播的,每天某一广告位最多可轮播的广告数量是有限制的,比如A广告位,每天只能轮播三个广告,但销售人员在销售广告位时并不考虑此限制,要求查询出合同表中,超过广告位轮播数量的合同。
合同表 T_Order
OrderID |
Positioncode |
Startdate |
Enddate |
1 |
A |
2006-11-01 |
2006-11-03 |
2 |
C |
2006-11-02 |
2006-11-03 |
3 |
B |
2006-11-01 |
2006-11-04 |
4 |
A |
2006-11-03 |
2006-11-04 |
5 |
C |
2006-11-01 |
2006-11-02 |
6 |
B |
2006-11-02 |
2006-11-05 |
7 |
A |
2006-11-02 |
2006-11-03 |
8 |
A |
2006-11-04 |
2006-11-05 |
9 |
C |
2006-11-03 |
2006-11-04 |
10 |
C |
2006-11-02 |
2006-11-04 |
11 |
D |
2006-11-01 |
2007-05-03 |
12 |
D |
2007-05-01 |
2007-05-05 |
广告位表 T_Product
Positioncode |
Showcount |
A |
2 |
B |
1 |
C |
3 |
D |
1 |
说明:对于广告位A来讲,轮播情况如下表
OrderID |
2006-11-01 |
2006-11-02 |
2006-11-03 |
2006-11-04 |
2006-11-05 |
1 |
|||||
4 |
|||||
7 |
|||||
8 |
要求仅使用一条SQL语句查询出如下结果:注:不得使用自定义函数,变量,游标,存储过程等--这好像是废话哦!
可以查资料,问百度:
这是我在SQL2005中查询出来的
(不知道有没有高手可以十分钟搞定!我用时近半小时 有些知识点时间长忘了,毕竟不是专门搞数据库的)