Два однотипных условия в запросе. Возможно?

From
Stepan Murashov (2:5050/82.70)
To
Gregory Konev (2:5054/37.63)
Date
2005-05-31T09:54:28Z
Area
SU.DBMS.SQL
Как поживаете, Gregory ?

 Сижу, читаю почту, вдруг вижу, что в Вторник Май 31 2005 , Gregory Konev писал All:

 GK> Пример. Есть таблица, куда вносится информация о проплатах (id,
 GK> amount, pay_date, customer_id). Можно ли одним запросом с группировкой
 GK> по полю "клиент" (customer_id) выбирать две суммы проплат, одна за
 GK> один период времени, другая за другой (по каждому клиенту)?

Можно. Например в запросе можно дважды использовать одну таблицу под разными псевдонимами, примерно так:

select t1.customer_id, t2.customer_id, sum(t1.amount), sum(t2.amount)
from table t1, table t2
where t1.pay_date between ...
  and t2.pay_date between ...
  and t1.customer_id=t2.customer_id
group by t1.customer_id, t2.customer_id

Всего наилучшего.

--- GoldED+/W32 1.1.5-20020105
 * Origin: The world is not enough. (2:5050/82.70)
SEEN-BY: 46/50 50/203 450/186 208 1024 451/30 452/25 100 454/9 460/15 461/33
SEEN-BY: 461/74 106 640 462/30 463/92 464/34 465/70 92 213 467/24 469/125 200
SEEN-BY: 478/44 550/5068 4614/9 20 4625/9 4626/100 4635/1024 4641/444 4642/27
SEEN-BY: 4642/48 4643/10 4653/10 4657/50 5000/5000 5001/50 5001 5002/76 5002
SEEN-BY: 5003/34 5004/84 5009/14 5010/53 146 5011/13 5012/23 5015/4 10 28
SEEN-BY: 5019/31 5020/52 86 104 115 128 133 150 175 201 400 545 639 642 715
SEEN-BY: 5020/755 758 794 894 921 968 982 1042 1100 1169 1212 1234 1523 1604
SEEN-BY: 5020/1626 1642 1826 1873 1930 1992 2020 2140 2200 2238 4400 4441 8383
SEEN-BY: 5021/11 29 5022/5 5023/11 5024/1 5025/3 19 750 5026/10 45 78 5027/16
SEEN-BY: 5029/32 5030/69 115 195 382 436 473 556 611 920 966 1016 1063 1212
SEEN-BY: 5030/1339 1900 5031/47 63 5032/16 5033/5 21 35 5034/8 5035/10 38
SEEN-BY: 5036/13 34 5037/21 36 5040/33 47 5041/4 5042/13 21 5045/7 5047/43 47
SEEN-BY: 5049/157 5050/9 11 13 14 19 29 33 41 61 82 103 127 133 5050 5051/35
SEEN-BY: 5053/16 5054/1 8 9 28 35 37 45 50 63 67 5055/95 177 5056/16 5058/77
SEEN-BY: 5059/20 37 5062/1 10 5063/5 51 5064/7 35 5069/7 5070/26 66 1222
SEEN-BY: 5071/22 5077/70 5079/23 49 5080/68 1003 5082/6 5083/13 21 5084/32
SEEN-BY: 5085/13 5090/23 105 106 5092/1 5093/4 27 29 5095/20 5099/4 133
SEEN-BY: 5100/113 6000/12 254 6001/3 6003/7 6023/1 6033/2727 6045/7
PATH: 5050/82 29 33 13 41 5020/52 4441 545 5054/1 37