Re: Вопрос про UNION
- From
- Grigoriy Shpakov (2:5020/400)
- To
- "Gribkov M.N."
- Date
- 2006-03-14T17:23:06Z
- Area
- SU.DBMS.SQL
From: Grigoriy Shpakov <grigory@sirena2000.ru>
Как-то раз Gribkov M.N.(gribkov@ramon.vsi.ru) написал:
GMN> Коллеги!
GMN> Есть две одинаковые по структуре таблицы.
GMN> Как объединить две выбрки из этих таблиц и применить к
GMN> ним GROUP BY и посчитать суммы по какому либо столбцу?
GMN> То есть:
GMN> Моя обычная выборка вглядит так:
.....
GMN> Результат: вычисления с группировкой по AbonentA
GMN> Теперь нужно: сделать два запроса к разным таблицам, а в результате
GMN> получить вычисления по ним обеим с группировкой по AbonentA.
GMN> Как это проще сделать?
Что-нибудь типа такого:
SELECT список полей FROM (
SELECT список полей FROM первая таблица WHERE ...
UNION ALL
SELECT список полей FROM вторая таблица WHERE ...
) GROUP BY что тебе там нужно
За абсолютность результата не уверен. Но в Oracle такое работает.
--
Григорий Шпаков
Бывший 2:5020/198.39 AKA /213.25 AKA /54.35 AKA grigory@sirena.rinet.ru
Ныне grigory@sirena2000.ru
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5.3
* Origin: Talk.Mail.Ru (2:5020/400)
SEEN-BY: 46/50 50/12 203 520 450/159 186 1024 451/30 454/9 461/43 132 640
SEEN-BY: 469/999 4614/20 4616/3 4625/8 4627/10 4641/444 5000/76 5000 5001/5001
SEEN-BY: 5006/1 5007/1 5010/53 70 5011/13 5012/23 46 5015/28 5019/31 5020/86
SEEN-BY: 5020/175 194 400 545 604 639 715 758 830 892 982 1042 1057 1200 1523
SEEN-BY: 5020/1604 1665 1909 1922 2013 2020 2238 4441 5021/3 29 5022/128
SEEN-BY: 5025/3 750 5026/10 14 45 5027/12 5029/32 5030/115 217 436 473 556 966
SEEN-BY: 5030/1063 1339 1900 5034/13 5035/38 5036/1 5040/47 5042/13 5045/7
SEEN-BY: 5047/47 5049/1 5051/15 5053/16 5054/1 8 9 28 35 37 45 63 67 5055/95
SEEN-BY: 5057/1 5059/9 5060/88 5061/15 5062/1 5066/18 5070/1222 5077/70
SEEN-BY: 5080/68 1003 5081/2 5082/6 5083/21 5084/32 5085/13 5090/106 5093/27
SEEN-BY: 5095/20 5096/18 5099/133 6000/0 1 12 6009/1
PATH: 5020/400 4441 545 5054/1 37