Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
167
Добавлен:
02.02.2021
Размер:
294.07 Кб
Скачать

Предикаты (фразы) в предложении SELECT

Простые условия <, >, =, < > - не равно и др.

Логические (булевы) функции - AND, OR, NOT

Предикаты с использованием ключевых слов In, like, is, between

Агрегатные SQL-функции

SUM (сумма), COUNT (количество), MIN (минимальное значение), MAX (максимальное значение) или AVG (среднее значение), SUBSTR и др.

3. Сложный выбор со множеством условий SELECT SUBSTR(baccountid,1,4),

SUM (summaactive) summaactive, SUM (summapassive) summaactive

FROM (SELECT baccountid,

SUM (DECODE (SIGN (summanoweq), -1, summanoweq/100, 0) ) summaactive,

0 summapassive FROM arc_balance b

WHERE arcdate = '27.10.2003' AND CORRMODE in (0,2) AND currencyid = 840

AND baccountid NOT IN

(1212, 2072, 2510, 2511, 3015, 3107, 3115, 3408, 3906) AND SUBSTR (baccountid, 1, 1) NOT IN ('5', '6', '7', '8') AND SUBSTR (baccountid, 1, 2) NOT IN

('38', '43', '44', '45', '90', '91', '95', '96', '97', '98', '99' ) AND SUBSTR (baccountid, 1, 3) NOT IN ('930', '939')

GROUP BY baccountid UNION ALL

SELECT baccountid, 0 summaactive,

SUM (DECODE (SIGN (summanoweq), 1, summanoweq/100, 0) ) summapassive

FROM arc_balance

WHERE arcdate = '27.10.2003' AND CORRMODE in (0,2) AND currencyid = 840

AND baccountid NOT IN (3015, 3107, 3115, 3408, 3623, 3907) AND SUBSTR (baccountid, 1, 1) NOT IN ('4', '5', '6', '7', '8') AND SUBSTR (baccountid, 1, 2) NOT IN

('38', '90', '91', '95', '96', '97', '98', '99') AND SUBSTR (baccountid, 1, 3) NOT IN

('250', '251', '264', '370', '931') GROUP BY baccountid)

GROUP BY SUBSTR(baccountid,1,4)