Добавление данных с использованием подзапроса с соединениями

We use cookies. Read the Privacy and Cookie Policy

Добавление данных с использованием подзапроса с соединениями

В главе 20 мы рассматривали встроенный метод выборки для передачи данных в оператор INSERT, например,

INSERT INTO ATABLE (

COLUMN2, COLUMN3, COLUMN4)

SELECT BCOLUMN, CCOLUMN, DCOLUMN

FROM BTABLE WHERE

Этот метод не ограничен однопоточным запросом. Ваш входной подзапрос может быть соединенным. Эта возможность очень полезна, когда вам нужно экспортировать ненормализованные данные во внешнюю таблицу для использования в другом приложении, таком как электронная таблица, программа работы с базой данных или программа бухгалтерского учета. Например:

INSERT INTO EXTABLE (

TRANDATE, INVOICE_NUMBER, EXT_CUST_CODE, VALUE)

SELECT

INV. TRANSACTION_DATE,

INV. INVOICE_NUMBER,

CUS.EXT_CUS_CODE,

SUM (INVD. PRICE * INVD.NO_ITEMS)

FROM INVOICE INV

JOIN CUSTOMER CUS

ON INV.CUST_ID = CUS.CUST_ID

JOIN INVOICE_DETAIL INVD

ON INVD.INVOICE_ID = INV.INVOICE_ID

WHERE ...

GROUP BY . . .;